X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/982b2cfc58f424589a11538f6f7deef3b3217f0f..ee3510132b8b4160f848bd4f502a6f5315f90dbc:/src/motif/toolbar.cpp diff --git a/src/motif/toolbar.cpp b/src/motif/toolbar.cpp index 70227436b5..a7faa4d42a 100644 --- a/src/motif/toolbar.cpp +++ b/src/motif/toolbar.cpp @@ -21,6 +21,10 @@ #pragma implementation "toolbar.h" #endif +#ifdef __VMS +#define XtDisplay XTDISPLAY +#endif + #include "wx/wx.h" #include "wx/app.h" #include "wx/timer.h" @@ -47,7 +51,7 @@ // ---------------------------------------------------------------------------- #if !USE_SHARED_LIBRARY -IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase) #endif // ---------------------------------------------------------------------------- @@ -172,6 +176,12 @@ void wxToolBar::Init() m_maxHeight = -1; m_defaultWidth = 24; m_defaultHeight = 22; + m_toolPacking = 2; + m_toolSeparation = 8; + m_xMargin = 2; + m_yMargin = 2; + m_maxRows = 100; + m_maxCols = 100; } bool wxToolBar::Create(wxWindow *parent, @@ -186,7 +196,7 @@ bool wxToolBar::Create(wxWindow *parent, m_windowId = id; SetName(name); - m_backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE); + m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); m_foregroundColour = parent->GetForegroundColour(); m_windowStyle = style; @@ -245,6 +255,7 @@ bool wxToolBar::Realize() // Separator spacing const int separatorSize = GetToolSeparation(); // 8; wxSize margins = GetToolMargins(); + int packing = GetToolPacking(); int marginX = margins.x; int marginY = margins.y; @@ -267,9 +278,15 @@ bool wxToolBar::Realize() switch ( tool->GetStyle() ) { case wxTOOL_STYLE_CONTROL: - wxFAIL_MSG( _T("not implemented") ); - break; + { + wxControl* control = tool->GetControl(); + wxSize sz = control->GetSize(); + wxPoint pos = control->GetPosition(); + control->Move(currentX, pos.y); + currentX += sz.x + packing; + break; + } case wxTOOL_STYLE_SEPARATOR: currentX += separatorSize; break; @@ -282,7 +299,12 @@ bool wxToolBar::Realize() button = XtVaCreateWidget("toggleButton", xmToggleButtonWidgetClass, (Widget) m_mainWidget, XmNx, currentX, XmNy, currentY, - // XmNpushButtonEnabled, True, + XmNindicatorOn, False, + XmNshadowThickness, 2, + XmNborderWidth, 0, + XmNspacing, 0, + XmNmarginWidth, 0, + XmNmarginHeight, 0, XmNmultiClick, XmMULTICLICK_KEEP, XmNlabelType, XmPIXMAP, NULL); @@ -325,9 +347,9 @@ bool wxToolBar::Realize() wxColour col; col.SetPixel(backgroundPixel); - wxBitmap newBitmap = wxCreateMaskedBitmap(bmp, col); + bmp = wxCreateMaskedBitmap(bmp, col); - tool->SetBitmap1(newBitmap); + tool->SetBitmap1(bmp); } // Create a selected/toggled bitmap. If there isn't a 2nd @@ -388,12 +410,6 @@ bool wxToolBar::Realize() tool->SetPixmap(pixmap2); XtVaSetValues (button, - XmNindicatorOn, False, - XmNshadowThickness, 2, - // XmNborderWidth, 0, - // XmNspacing, 0, - XmNmarginWidth, 0, - XmNmarginHeight, 0, XmNfillOnSelect, True, XmNlabelPixmap, pixmap, XmNselectPixmap, pixmap2, @@ -436,7 +452,7 @@ bool wxToolBar::Realize() XmNwidth, &width, XmNheight, & height, NULL); - currentX += width + marginX; + currentX += width + packing; buttonHeight = wxMax(buttonHeight, height); }