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() )
140 wxCheckBoxState bold = cell->IsBold() ? wxCHK_CHECKED : wxCHK_UNCHECKED;
142 if( bold !=
m_bold->Get3StateValue() )
143 m_bold->Set3StateValue( wxCHK_UNDETERMINED );
145 wxCheckBoxState italic = cell->IsItalic() ? wxCHK_CHECKED : wxCHK_UNCHECKED;
147 if( italic !=
m_italic->Get3StateValue() )
148 m_italic->Set3StateValue( wxCHK_UNDETERMINED );
150 if( cell->GetHorizJustify() != hAlign )
153 if( cell->GetVertJustify() != vAlign )
162 COLOR4D fillColor = cell->IsFilled() ? cell->GetFillColor() : COLOR4D::UNSPECIFIED;
171 fillColor = COLOR4D::UNSPECIFIED;
211 if( btn->IsChecked() && btn != aEvent.GetEventObject() )
221 if( btn->IsChecked() && btn != aEvent.GetEventObject() )
229 if( aEvent.GetSelection() == 1 )
239 if( aEvent.GetSelection() == 1 )
249 if( !wxDialog::TransferDataFromWindow() )
260 if(
m_bold->Get3StateValue() == wxCHK_CHECKED )
261 cell->SetBold(
true );
262 else if(
m_bold->Get3StateValue() == wxCHK_UNCHECKED )
263 cell->SetBold(
false );
265 if(
m_italic->Get3StateValue() == wxCHK_CHECKED )
266 cell->SetItalic(
true );
267 else if(
m_italic->Get3StateValue() == wxCHK_UNCHECKED )
268 cell->SetItalic(
false );
297 if( fillColor == COLOR4D::UNSPECIFIED )
299 cell->SetFillMode( FILL_T::NO_FILL );
303 cell->SetFillMode( FILL_T::FILLED_WITH_COLOR );
304 cell->SetFillColor( fillColor );
321 if( !commit.
Empty() )
322 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)
Create an undo entry for an item that has been already modified.
bool Empty() const
Returns status of an item.
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
KIFONT::FONT * GetFontSelection(bool aBold, bool aItalic, bool aForDrawingSheet=false) const
bool HaveFontSelection() const
void SetFontSelection(KIFONT::FONT *aFont)
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
Revert the commit by restoring the modified items state.
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_INDETERMINATE
@ 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