36 wxSizer* mainSizer = GetSizer();
37 wxCHECK_RET( mainSizer, wxT(
"Line properties dialog has no main sizer" ) );
39 wxBoxSizer* endingsSizer =
new wxBoxSizer( wxVERTICAL );
41 wxGridBagSizer* gbSizerEndings =
new wxGridBagSizer( 3, 0 );
42 gbSizerEndings->SetFlexibleDirection( wxBOTH );
43 gbSizerEndings->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
47 gbSizerEndings->Add(
m_startShapeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | wxRIGHT,
50 m_startShapeChoice =
new wxBitmapComboBox(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0,
51 nullptr, wxCB_READONLY );
52 gbSizerEndings->Add(
m_startShapeChoice, wxGBPosition( 0, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL | wxEXPAND,
57 gbSizerEndings->Add(
m_endShapeLabel, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ),
58 wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5 );
60 m_endShapeChoice =
new wxBitmapComboBox(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0,
61 nullptr, wxCB_READONLY );
62 gbSizerEndings->Add(
m_endShapeChoice, wxGBPosition( 0, 5 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL | wxEXPAND,
65 auto addEndingValue = [&](
int aRow,
int aCol,
const wxString& aLabel, wxStaticText*& aLabelCtrl,
66 wxTextCtrl*& aValueCtrl, wxStaticText*& aUnitsCtrl,
int aFlags )
68 aLabelCtrl =
new wxStaticText(
this, wxID_ANY, aLabel );
69 aLabelCtrl->Wrap( -1 );
70 gbSizerEndings->Add( aLabelCtrl, wxGBPosition( aRow, aCol ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL | aFlags,
73 aValueCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1, -1 ), 0 );
74 gbSizerEndings->Add( aValueCtrl, wxGBPosition( aRow, aCol + 1 ), wxGBSpan( 1, 1 ),
75 wxALIGN_CENTER_VERTICAL | wxEXPAND, 5 );
77 aUnitsCtrl =
new wxStaticText(
this, wxID_ANY,
_(
"unit" ) );
78 aUnitsCtrl->Wrap( -1 );
79 aUnitsCtrl->SetMinSize( wxSize( 60, -1 ) );
80 gbSizerEndings->Add( aUnitsCtrl, wxGBPosition( aRow, aCol + 2 ), wxGBSpan( 1, 1 ),
81 wxALIGN_CENTER_VERTICAL | wxLEFT, 3 );
93 gbSizerEndings->AddGrowableCol( 1 );
94 gbSizerEndings->AddGrowableCol( 5 );
96 endingsSizer->Add( gbSizerEndings, 0, wxEXPAND, 0 );
102 mainSizer->Insert( 1, endingsSizer, 0, wxEXPAND | wxRIGHT | wxLEFT, 10 );
104 wxColour fg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
105 wxColour bg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW );
106 wxSize iconSize( 80, 24 );
120 for(
const auto& item : shapeItems )
184 return r->GetPenWidth() == first_stroke_item->GetPenWidth();
197 return r->GetStroke().GetColor() == first_stroke_item->GetStroke().GetColor();
210 return r->GetStroke().GetLineStyle() == first_stroke_item->GetStroke().GetLineStyle();
213 int style =
static_cast<int>( first_stroke_item->
GetStroke().GetLineStyle() );
230 return r->GetStartEndingStyle() == first_stroke_item->GetStartEndingStyle();
245 return r->GetEndEndingStyle() == first_stroke_item->GetEndEndingStyle();
260 return r->GetStartEndingLength() == first_stroke_item->GetStartEndingLength();
274 return r->GetStartEndingWidth() == first_stroke_item->GetStartEndingWidth();
288 return r->GetStartEndingStrokeWidth() == first_stroke_item->GetStartEndingStrokeWidth();
302 return r->GetEndEndingLength() == first_stroke_item->GetEndEndingLength();
316 return r->GetEndEndingWidth() == first_stroke_item->GetEndEndingWidth();
330 return r->GetEndEndingStrokeWidth() == first_stroke_item->GetEndEndingStrokeWidth();