my wxMotif fixes (merged with Robert's changes), wxMotif compiles, links
and runs... until you click in the menu, that is. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
// Created: 17/09/98
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
@@ -14,6 +14,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/control.h"
|
||||
#include "wx/panel.h"
|
||||
#include "wx/utils.h"
|
||||
|
||||
#include <Xm/Xm.h>
|
||||
@@ -38,15 +39,12 @@ wxControl::~wxControl()
|
||||
{
|
||||
// If we delete an item, we should initialize the parent panel,
|
||||
// because it could now be invalid.
|
||||
/*
|
||||
TODO
|
||||
wxWindow *parent = (wxWindow *)GetParent();
|
||||
if (parent)
|
||||
wxPanel *panel = wxDynamicCast(GetParent(), wxPanel);
|
||||
if (panel)
|
||||
{
|
||||
if (parent->GetDefaultItem() == (wxButton*) this)
|
||||
parent->SetDefaultItem((wxButton*) NULL);
|
||||
if (panel->GetDefaultItem() == this)
|
||||
panel->SetDefaultItem((wxButton*) NULL);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
void wxControl::SetLabel(const wxString& label)
|
||||
@@ -54,9 +52,9 @@ void wxControl::SetLabel(const wxString& label)
|
||||
Widget widget = (Widget) GetLabelWidget() ;
|
||||
if (!widget)
|
||||
return;
|
||||
|
||||
|
||||
wxStripMenuCodes((char*) (const char*) label, wxBuffer);
|
||||
|
||||
|
||||
XmString text = XmStringCreateSimple (wxBuffer);
|
||||
XtVaSetValues (widget,
|
||||
XmNlabelString, text,
|
||||
@@ -70,13 +68,13 @@ wxString wxControl::GetLabel() const
|
||||
Widget widget = (Widget) GetLabelWidget() ;
|
||||
if (!widget)
|
||||
return wxEmptyString;
|
||||
|
||||
|
||||
XmString text;
|
||||
char *s;
|
||||
XtVaGetValues (widget,
|
||||
XmNlabelString, &text,
|
||||
NULL);
|
||||
|
||||
|
||||
if (XmStringGetLtoR (text, XmSTRING_DEFAULT_CHARSET, &s))
|
||||
{
|
||||
wxString str(s);
|
||||
@@ -110,24 +108,24 @@ void wxControl::ProcessCommand (wxCommandEvent & event)
|
||||
void wxControl::Centre (int direction)
|
||||
{
|
||||
int x, y, width, height, panel_width, panel_height, new_x, new_y;
|
||||
|
||||
|
||||
wxWindow *parent = (wxWindow *) GetParent ();
|
||||
if (!parent)
|
||||
return;
|
||||
|
||||
|
||||
parent->GetClientSize (&panel_width, &panel_height);
|
||||
GetSize (&width, &height);
|
||||
GetPosition (&x, &y);
|
||||
|
||||
|
||||
new_x = x;
|
||||
new_y = y;
|
||||
|
||||
|
||||
if (direction & wxHORIZONTAL)
|
||||
new_x = (int) ((panel_width - width) / 2);
|
||||
|
||||
|
||||
if (direction & wxVERTICAL)
|
||||
new_y = (int) ((panel_height - height) / 2);
|
||||
|
||||
|
||||
SetSize (new_x, new_y, width, height);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user