100 wxColour disabledColour = wxSystemSettings::GetColour( wxSYS_COLOUR_FRAMEBK );
102 auto disableCell = [&](
int row,
int col )
105 m_graphicsGrid->SetCellBackgroundColour( row, col, disabledColour );
132 auto attr =
new wxGridCellAttr;
133 attr->SetRenderer(
new wxGridCellBoolRenderer() );
135 attr->SetAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
198 bool badParam =
false;
202 if( lineWidth < minWidth || lineWidth > maxWidth )
204 if( !errorsMsg.IsEmpty() )
205 errorsMsg += wxT(
"\n\n" );
207 errorsMsg += wxString::Format(
_(
"%s: Incorrect line width.\n"
208 "It must be between %s and %s" ),
226 if( textWidth <
minSize || textHeight < minSize || textWidth > maxSize || textHeight > maxSize )
228 if( !errorsMsg.IsEmpty() )
229 errorsMsg += wxT(
"\n\n" );
231 errorsMsg += wxString::Format(
_(
"%s: Text size is incorrect.\n"
232 "Size must be between %s and %s" ),
240 int textMinDim = std::min( textWidth, textHeight );
241 int textMaxThickness = std::min( maxWidth, textMinDim / 4 );
243 if( !badParam && ( textThickness < minWidth || textThickness > textMaxThickness ) )
245 if( !errorsMsg.IsEmpty() )
246 errorsMsg += wxT(
"\n\n" );
248 if( textThickness > textMaxThickness )
250 errorsMsg += wxString::Format(
_(
"%s: Text thickness is too large.\n"
251 "It will be truncated to %s" ),
255 else if( textThickness < minWidth )
257 errorsMsg += wxString::Format(
_(
"%s: Text thickness is too small.\n"
258 "It will be truncated to %s" ),
263 textThickness = std::min( textThickness, textMaxThickness );
264 textThickness = std::max( textThickness, minWidth );
275 cfg.
m_TextItalic[i] = wxGridCellBoolEditor::IsTrueValue( msg );
280 if( errorsMsg.IsEmpty() )
#define TEXT_MIN_SIZE_MM
Minimum text size (1 micron).
#define TEXT_MAX_SIZE_MM
Maximum text size in mm (~10 inches)