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:
Vadim Zeitlin
1999-06-29 12:34:18 +00:00
parent a641505f0d
commit dfe1eee3bb
28 changed files with 782 additions and 751 deletions

View File

@@ -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);
}