55 m_cellText->SetWrapVisualFlags( wxSTC_WRAPVISUALFLAG_END );
56 m_cellText->SetWrapIndentMode( wxSTC_WRAPINDENT_INDENT );
62 m_cellText->SetTechnology( wxSTC_TECHNOLOGY_DIRECTWRITE );
68 [
this]( wxKeyEvent& aEvent )
70 wxPostEvent(
this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
74 [
this]( wxStyledTextEvent& aEvent )
78 [
this](
const wxString& xRef, wxArrayString* tokens )
88 if(
m_frame->GetColorSettings()->GetOverrideSchItemColors() )
89 m_infoBar->ShowMessage(
_(
"Note: individual item colors overridden in Preferences." ) );
136 if( !aCrossRef.IsEmpty() )
145 for(
int jj = 0; jj < (int) refs.
GetCount(); jj++ )
162 if( schematic && schematic->CurrentSheet().Last() )
164 schematic->CurrentSheet().Last()->GetContextualTextVars( aTokens );
168 for( std::pair<wxString, wxString> entry :
Prj().GetTextVars() )
169 aTokens->push_back( entry.first );
177 if( !wxDialog::TransferDataToWindow() )
180 bool firstCell =
true;
186 wxString
text = cell->GetText();
193 m_fontCtrl->SetFontSelection( cell->GetFont() );
196 m_bold->Set3StateValue( cell->IsBold() ? wxCHK_CHECKED : wxCHK_UNCHECKED );
197 m_italic->Set3StateValue( cell->IsItalic() ? wxCHK_CHECKED : wxCHK_UNCHECKED );
199 hAlign = cell->GetHorizJustify();
200 vAlign = cell->GetVertJustify();
208 if( cell->IsSolidFill() )
224 if( cell->GetFont() !=
m_fontCtrl->GetFontSelection( cell->IsBold(), cell->IsItalic() ) )
227 if( cell->GetTextWidth() !=
m_textSize.GetValue() )
230 wxCheckBoxState bold = cell->IsBold() ? wxCHK_CHECKED : wxCHK_UNCHECKED;
232 if( bold !=
m_bold->Get3StateValue() )
233 m_bold->Set3StateValue( wxCHK_UNDETERMINED );
235 wxCheckBoxState italic = cell->IsItalic() ? wxCHK_CHECKED : wxCHK_UNCHECKED;
237 if( italic !=
m_italic->Get3StateValue() )
238 m_italic->Set3StateValue( wxCHK_UNDETERMINED );
240 if( cell->GetHorizJustify() != hAlign )
243 if( cell->GetVertJustify() != vAlign )
263 if( cell->GetMarginLeft() !=
m_marginLeft.GetIntValue() )
266 if( cell->GetMarginTop() !=
m_marginTop.GetIntValue() )
301 if( btn->IsChecked() && btn != aEvent.GetEventObject() )
311 if( btn->IsChecked() && btn != aEvent.GetEventObject() )
319 if( aEvent.GetSelection() == 1 )
329 if( aEvent.GetSelection() == 1 )
339 if( !wxDialog::TransferDataFromWindow() )
345 if(
m_table->GetEditFlags() == 0 )
354 text.Replace(
"\r",
"\n" );
355#elif defined( __WINDOWS__ )
358 text.Replace(
"\r",
"" );
361 cell->SetText(
text );
363 if(
m_bold->Get3StateValue() == wxCHK_CHECKED )
364 cell->SetBold(
true );
365 else if(
m_bold->Get3StateValue() == wxCHK_UNCHECKED )
366 cell->SetBold(
false );
368 if(
m_italic->Get3StateValue() == wxCHK_CHECKED )
369 cell->SetItalic(
true );
370 else if(
m_italic->Get3StateValue() == wxCHK_UNCHECKED )
371 cell->SetItalic(
false );
374 cell->SetFont(
m_fontCtrl->GetFontSelection( cell->IsBold(), cell->IsItalic() ) );
407 cell->SetFillColor( fillColor );
424 if( !commit.
Empty() )
425 commit.
Push(
_(
"Edit Table Cell Properties" ) );
wxBitmapBundle KiBitmapBundle(BITMAPS aBitmap, int aMinHeight)
static const COLOR4D UNSPECIFIED
For legacy support; used as a value to indicate color hasn't been set yet.
COLOR4D GetColor(int aLayer) const
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Modify a given item in the model.
void SetInitialFocus(wxWindow *aWindow)
Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.
void SetupStandardButtons(std::map< int, wxString > aLabels={})
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
BITMAP_BUTTON * m_vAlignTop
wxChoice * m_fillColorPopup
COLOR_SWATCH * m_fillColorSwatch
BITMAP_BUTTON * m_vAlignCenter
BITMAP_BUTTON * m_hAlignRight
BITMAP_BUTTON * m_hAlignCenter
BITMAP_BUTTON * m_vAlignBottom
wxStyledTextCtrl * m_cellTextCtrl
wxTextCtrl * m_textSizeCtrl
COLOR_SWATCH * m_textColorSwatch
wxSimplebook * m_textColorBook
wxTextCtrl * m_marginTopCtrl
wxChoice * m_textColorPopup
wxTextCtrl * m_marginBottomCtrl
wxStaticText * m_textSizeUnits
BITMAP_BUTTON * m_hAlignLeft
wxTextCtrl * m_marginRightCtrl
wxStaticText * m_marginTopUnits
wxSimplebook * m_fillColorBook
wxTextCtrl * m_marginLeftCtrl
wxStaticText * m_textSizeLabel
DIALOG_TABLECELL_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Table Cell Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
bool TransferDataFromWindow() override
std::vector< SCH_TABLECELL * > m_cells
HTML_MESSAGE_BOX * m_helpWindow
@ TABLECELL_PROPS_EDIT_TABLE
void onTextColorPopup(wxCommandEvent &aEvent) override
void onMultiLineTCLostFocus(wxFocusEvent &event) override
void onFillColorPopup(wxCommandEvent &aEvent) override
void onHAlignButton(wxCommandEvent &aEvent)
void onEditTable(wxCommandEvent &aEvent) override
enum TABLECELL_PROPS_RETVALUE m_returnValue
wxStyledTextCtrl * m_cellText
SCINTILLA_TRICKS * m_scintillaTricks
DIALOG_TABLECELL_PROPERTIES(SCH_EDIT_FRAME *aParentFrame, std::vector< SCH_TABLECELL * > aCells)
void OnFormattingHelp(wxHyperlinkEvent &aEvent) override
UNIT_BINDER m_marginBottom
bool TransferDataToWindow() override
~DIALOG_TABLECELL_PROPERTIES()
void getContextualTextVars(const wxString &aCrossRef, wxArrayString *aTokens)
UNIT_BINDER m_marginRight
void onVAlignButton(wxCommandEvent &aEvent)
A color representation with 4 components: red, green, blue, alpha.
PROJECT & Prj() const
Return a reference to the PROJECT associated with this KIWAY.
Holds all the data relating to one schematic.
COLOR_SETTINGS * GetColorSettings(bool aForceRefresh=false) const override
Returns a pointer to the active color theme settings.
virtual void Push(const wxString &aMessage=wxT("A commit"), int aCommitFlags=0) override
Execute the changes.
Schematic editor (Eeschema) main window.
Container to create a flattened list of symbols because in a complex hierarchy, a symbol can be used ...
A helper to define a symbol's reference designator in a schematic.
const SCH_SHEET_PATH & GetSheetPath() const
SCH_SYMBOL * GetSymbol() const
void GetContextualTextVars(wxArrayString *aVars) const
Return the list of system text vars & fields for this symbol.
const wxString GetRef(const SCH_SHEET_PATH *aSheet, bool aIncludeUnit=false) const override
static HTML_MESSAGE_BOX * ShowSyntaxHelp(wxWindow *aParentWindow)
Add cut/copy/paste, dark theme, autocomplete and brace highlighting to a wxStyleTextCtrl instance.
@ LAYER_SCHEMATIC_BACKGROUND
GR_TEXT_H_ALIGN_T
This is API surface mapped to common.types.HorizontalAlignment.
@ GR_TEXT_H_ALIGN_INDETERMINATE
GR_TEXT_V_ALIGN_T
This is API surface mapped to common.types.VertialAlignment.
@ GR_TEXT_V_ALIGN_INDETERMINATE
#define INDETERMINATE_STATE
Used for holding indeterminate values, such as with multiple selections holding different values or c...
VECTOR2< int32_t > VECTOR2I