Button::Button() : object(NULL),font(OS::display->GetFont()),type(typeNormal), pulse(false),shortCut('\0'),scAssigned(false), triggering(false) { SetBackground(OS::display->GetFill(OS::Display::buttonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { SetCanFocus(true); } SetRedrawOnMouseActive(true); }
MapControl() : initial(true), lon(7.13601), lat(50.68924), magnification(2*1024), requestNewMap(true), backgroundColor(241.0/255,238.0/255,233.0/255,1.0) { SetCanFocus(true); RequestFocus(); Observe(jobFinishedAction); }
void Button::CalcSize() { /* Let the frame calculate its size */ switch (type) { case typeNormal: SetBackground(OS::display->GetFill(OS::Display::buttonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { RequestFocus(); } if (OS::display->GetTheme()->RequestFingerFriendlyControls()) { SetMinWidth(OS::display->GetTheme()->GetFingerFriendlyMinWidth()); SetMinHeight(OS::display->GetTheme()->GetFingerFriendlyMinHeight()); } break; case typeDefault: SetBackground(OS::display->GetFill(OS::Display::defaultButtonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { RequestFocus(); } if (OS::display->GetTheme()->RequestFingerFriendlyControls()) { SetMinWidth(OS::display->GetTheme()->GetFingerFriendlyMinWidth()); SetMinHeight(OS::display->GetTheme()->GetFingerFriendlyMinHeight()); } break; case typeCommit: SetBackground(OS::display->GetFill(OS::Display::positiveButtonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { RequestFocus(); } if (OS::display->GetTheme()->RequestFingerFriendlyControls()) { SetMinWidth(OS::display->GetTheme()->GetFingerFriendlyMinWidth()); SetMinHeight(OS::display->GetTheme()->GetFingerFriendlyMinHeight()); } break; case typeCancel: SetBackground(OS::display->GetFill(OS::Display::negativeButtonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { RequestFocus(); } if (OS::display->GetTheme()->RequestFingerFriendlyControls()) { SetMinWidth(OS::display->GetTheme()->GetFingerFriendlyMinWidth()); SetMinHeight(OS::display->GetTheme()->GetFingerFriendlyMinHeight()); } break; case typeIcon: SetBackground(OS::display->GetFill(OS::Display::buttonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { RequestFocus(); } break; case typeAdditional: SetBackground(OS::display->GetFill(OS::Display::buttonBackgroundFillIndex)); if (!OS::display->GetTheme()->FocusOnEditableControlsOnly()) { RequestFocus(); } break; case typeToolBar: SetBackground(OS::display->GetFill(OS::Display::toolbarButtonBackgroundFillIndex)); SetCanFocus(false); break; case typeScroll: SetBackground(OS::display->GetFill(OS::Display::scrollButtonBackgroundFillIndex)); SetCanFocus(false); break; } width=0; height=0; minWidth=0; minHeight=0; if (ShowObject()) { /* Now we let the image calculate its bounds and simply add its size to the size of the button. */ object->CalcSize(); width=object->GetOWidth(); height=object->GetOHeight(); minWidth=object->GetOMinWidth(); minHeight=object->GetOMinHeight(); } if (ShowImage()) { minWidth+=image->GetWidth(); width+=image->GetWidth(); minHeight=std::max(minHeight,image->GetHeight()); height=std::max(height,image->GetHeight()); } if (ShowObject() && ShowImage()) { minWidth+=OS::display->GetSpaceHorizontal(OS::Display::spaceIntraObject); width+=OS::display->GetSpaceHorizontal(OS::Display::spaceIntraObject); } maxWidth=30000; maxHeight=30000; /* We *must* call CalcSize of our superclass! */ Control::CalcSize(); }