38 std::vector<SCH_TABLECELL*> aCells ) :
43 m_textSize( aFrame, m_textSizeLabel, m_textSizeCtrl, m_textSizeUnits ),
44 m_marginLeft( aFrame, nullptr, m_marginLeftCtrl, nullptr ),
45 m_marginTop( aFrame, nullptr, m_marginTopCtrl, m_marginTopUnits ),
46 m_marginRight( aFrame, nullptr, m_marginRightCtrl, nullptr ),
47 m_marginBottom( aFrame, nullptr, m_marginBottomCtrl, nullptr ),
48 m_returnValue( TABLECELL_PROPS_CANCEL )
92 if( !wxDialog::TransferDataToWindow() )
95 bool firstCell =
true;
106 m_bold->Set3StateValue( cell->IsBold() ? wxCHK_CHECKED : wxCHK_UNCHECKED );
107 m_italic->Set3StateValue( cell->IsItalic() ? wxCHK_CHECKED : wxCHK_UNCHECKED );
109 hAlign = cell->GetHorizJustify();
110 vAlign = cell->GetVertJustify();
118 if( cell->IsFilled() )
141 wxCheckBoxState bold = cell->IsBold() ? wxCHK_CHECKED : wxCHK_UNCHECKED;
143 if( bold !=
m_bold->Get3StateValue() )
144 m_bold->Set3StateValue( wxCHK_UNDETERMINED );
146 wxCheckBoxState italic = cell->IsItalic() ? wxCHK_CHECKED : wxCHK_UNCHECKED;
148 if( italic !=
m_italic->Get3StateValue() )
149 m_italic->Set3StateValue( wxCHK_UNDETERMINED );
151 if( cell->GetHorizJustify() != hAlign )
154 if( cell->GetVertJustify() != vAlign )
163 COLOR4D fillColor = cell->IsFilled() ? cell->GetFillColor() : COLOR4D::UNSPECIFIED;
172 fillColor = COLOR4D::UNSPECIFIED;
212 if( btn->IsChecked() && btn != aEvent.GetEventObject() )
222 if( btn->IsChecked() && btn != aEvent.GetEventObject() )
230 if( aEvent.GetSelection() == 1 )
240 if( aEvent.GetSelection() == 1 )
250 if( !wxDialog::TransferDataFromWindow() )
261 if(
m_bold->Get3StateValue() == wxCHK_CHECKED )
262 cell->SetBold(
true );
263 else if(
m_bold->Get3StateValue() == wxCHK_UNCHECKED )
264 cell->SetBold(
false );
266 if(
m_italic->Get3StateValue() == wxCHK_CHECKED )
267 cell->SetItalic(
true );
268 else if(
m_italic->Get3StateValue() == wxCHK_UNCHECKED )
269 cell->SetItalic(
false );
298 if( fillColor == COLOR4D::UNSPECIFIED )
300 cell->SetFillMode( FILL_T::NO_FILL );
304 cell->SetFillMode( FILL_T::FILLED_WITH_COLOR );
305 cell->SetFillColor( fillColor );
322 if( !commit.
Empty() )
323 commit.
Push(
_(
"Edit Table Cell Properties" ) );
wxBitmapBundle KiBitmapBundle(BITMAPS aBitmap)
bool GetOverrideSchItemColors() const
COLOR4D GetColor(int aLayer) const
void SetSwatchColor(const KIGFX::COLOR4D &aColor, bool aSendEvent)
Set the current swatch color directly.
void GetNewSwatchColor()
Prompt for a new colour, using the colour picker dialog.
KIGFX::COLOR4D GetSwatchColor() const
void SetDefaultColor(const KIGFX::COLOR4D &aColor)
Sets the color that will be chosen with the "Reset to Default" button in the chooser.
void SetSwatchBackground(const KIGFX::COLOR4D &aBackground)
Set the swatch background color.
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Modify a given item in the model.
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...
Class DIALOG_TABLECELL_PROPERTIES_BASE.
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
COLOR_SWATCH * m_textColorSwatch
wxSimplebook * m_textColorBook
wxChoice * m_textColorPopup
BITMAP_BUTTON * m_hAlignLeft
wxSimplebook * m_fillColorBook
bool TransferDataFromWindow() override
std::vector< SCH_TABLECELL * > m_cells
@ TABLECELL_PROPS_EDIT_TABLE
void onTextColorPopup(wxCommandEvent &aEvent) override
void onFillColorPopup(wxCommandEvent &aEvent) override
void onHAlignButton(wxCommandEvent &aEvent)
void onEditTable(wxCommandEvent &aEvent) override
enum TABLECELL_PROPS_RETVALUE m_returnValue
DIALOG_TABLECELL_PROPERTIES(SCH_EDIT_FRAME *aParentFrame, std::vector< SCH_TABLECELL * > aCells)
UNIT_BINDER m_marginBottom
bool TransferDataToWindow() override
UNIT_BINDER m_marginRight
void onVAlignButton(wxCommandEvent &aEvent)
EDA_ITEM_FLAGS GetEditFlags() const
void SetFontSelection(KIFONT::FONT *aFont, bool aSilentMode=false)
Set the selection in wxChoice widget.
KIFONT::FONT * GetFontSelection(bool aBold, bool aItalic, bool aForDrawingSheet=false) const
bool HaveFontSelection() const
A color representation with 4 components: red, green, blue, alpha.
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.
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
virtual long long int GetValue()
Return the current value in Internal Units.
bool IsIndeterminate() const
Return true if the control holds the indeterminate value (for instance, if it represents a multiple s...
virtual void SetValue(long long int aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion.
void ShowMessage(const wxString &aMessage, int aFlags=wxICON_INFORMATION) override
Show the info bar with the provided message and icon.
@ 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