From ffd84c9476298154de52e55cd9dff3572c68ab18 Mon Sep 17 00:00:00 2001 From: =?utf8?q?W=C5=82odzimierz=20Skiba?= Date: Thu, 10 Nov 2005 12:03:39 +0000 Subject: [PATCH] Get/SetTitle only for wxTopLevelWindow (wxX11 part, final) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/toplevel.h | 17 +--- include/wx/window.h | 26 +----- include/wx/x11/toplevel.h | 17 ++-- include/wx/x11/window.h | 104 ++++++++++++------------ src/x11/toplevel.cpp | 164 +++++++++++++++++++------------------- src/x11/window.cpp | 121 +++++++++++++++------------- 6 files changed, 212 insertions(+), 237 deletions(-) diff --git a/include/wx/toplevel.h b/include/wx/toplevel.h index bc98e88087..88e4b987c4 100644 --- a/include/wx/toplevel.h +++ b/include/wx/toplevel.h @@ -154,23 +154,10 @@ public: // return true if the frame is in fullscreen mode virtual bool IsFullScreen() const = 0; -#if defined(__WXMSW__) || \ - defined(__WXMGL__) || \ - defined(__WXMOTIF__) || \ - defined(__WXPM__) || \ - defined(__WXMAC__) || \ - defined(__WXCOCOA__) || \ - defined(__WXGTK__) - - // FIXME: This is work in progress about moving SetTitle/GetTitle from wxWindow - // to wxTopLevelWindow so initially enabled in wxMSW only to observe results - // and continue on other platforms - - // the title (or label, see below) of the window: the text which the - // window shows + // the title of the top level window: the text which the + // window shows usually at the top of the frame/dialog in dedicated bar virtual void SetTitle(const wxString& title) = 0; virtual wxString GetTitle() const = 0; -#endif // Set the shape of the window to the given region. // Returns true if the platform supports this feature (and the diff --git a/include/wx/window.h b/include/wx/window.h index e80ae5faa1..c1bc2c0c51 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -168,31 +168,11 @@ public: // window attributes // ----------------- -#if !defined(__WXMSW__) && \ - !defined(__WXMGL__) && \ - !defined(__WXMOTIF__) && \ - !defined(__WXPM__) && \ - !defined(__WXMAC__) && \ - !defined(__WXCOCOA__) && \ - !defined(__WXGTK__) - - // FIXME: This is work in progress about moving SetTitle/GetTitle from wxWindow - // to wxTopLevelWindow so initially enabled in wxMSW only to observe results - // and continue on other platforms - - virtual void SetTitle( const wxString& WXUNUSED(title) ) {} - virtual wxString GetTitle() const { return wxEmptyString; } - - // label is just the same as the title (but for, e.g., buttons it - // makes more sense to speak about labels) - virtual void SetLabel(const wxString& label) { SetTitle(label); } - virtual wxString GetLabel() const { return GetTitle(); } -#else - // label is just the same as the title (but for, e.g., buttons it - // makes more sense to speak about labels) + // label is just the same as the title (but for, e.g., buttons it + // makes more sense to speak about labels), title access + // is available from wxTLW classes only (frames, dialogs) virtual void SetLabel(const wxString& label) = 0; virtual wxString GetLabel() const = 0; -#endif // the window name is used for ressource setting in X, it is not the // same as the window title/label diff --git a/include/wx/x11/toplevel.h b/include/wx/x11/toplevel.h index f9dc07259d..ac50971747 100644 --- a/include/wx/x11/toplevel.h +++ b/include/wx/x11/toplevel.h @@ -46,30 +46,30 @@ public: virtual ~wxTopLevelWindowX11(); // implement base class pure virtuals - virtual void Maximize(bool maximize = TRUE); + virtual void Maximize(bool maximize = true); virtual bool IsMaximized() const; - virtual void Iconize(bool iconize = TRUE); + virtual void Iconize(bool iconize = true); virtual bool IsIconized() const; virtual void SetIcon(const wxIcon& icon) { SetIcons( wxIconBundle( icon ) ); } virtual void SetIcons(const wxIconBundle& icons); virtual void Restore(); - virtual bool Show( bool show = TRUE ); + virtual bool Show( bool show = true ); virtual bool ShowFullScreen( bool show, long style = wxFULLSCREEN_ALL ); virtual bool IsFullScreen() const { return m_fsIsShowing; } virtual void SetTitle( const wxString& title); virtual wxString GetTitle() const; - + // implementation - void SetNeedResizeInIdle( bool set = TRUE ) + void SetNeedResizeInIdle( bool set = true ) { m_needResizeInIdle = set; } void SetConfigureGeometry( int x, int y, int width, int height ) { m_x = x; m_y = y; m_width = width; m_height = height; } virtual bool SetShape(const wxRegion& region); - + protected: // common part of all ctors void Init(); @@ -92,7 +92,7 @@ protected: int width, int height, int sizeFlags = wxSIZE_AUTO); virtual void DoGetPosition( int *x, int *y ) const; - + // Is the frame currently iconized? bool m_iconized; @@ -106,7 +106,7 @@ protected: bool m_fsIsMaximized; bool m_fsIsShowing; wxString m_title; - + // Geometry int m_x,m_y,m_width,m_height; }; @@ -115,4 +115,3 @@ protected: //extern WXDLLEXPORT_DATA(wxWindowList) wxModelessWindows; #endif // _WX_X11_TOPLEVEL_H_ - diff --git a/include/wx/x11/window.h b/include/wx/x11/window.h index b665e97d2d..5556bd97f7 100644 --- a/include/wx/x11/window.h +++ b/include/wx/x11/window.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: window.h +// Name: wx/x11/window.h // Purpose: wxWindow class // Author: Julian Smart // Modified by: @@ -22,10 +22,10 @@ class WXDLLIMPEXP_CORE wxWindowX11 : public wxWindowBase { friend class WXDLLEXPORT wxDC; friend class WXDLLEXPORT wxWindowDC; - + public: wxWindowX11() { Init(); } - + wxWindowX11(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, @@ -36,36 +36,39 @@ public: Init(); Create(parent, id, pos, size, style, name); } - + virtual ~wxWindowX11(); - + bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPanelNameStr); - + virtual void Raise(); virtual void Lower(); - - virtual bool Show( bool show = TRUE ); - virtual bool Enable( bool enable = TRUE ); - + + virtual void SetLabel(const wxString& label); + virtual wxString GetLabel() const; + + virtual bool Show( bool show = true ); + virtual bool Enable( bool enable = true ); + virtual void SetFocus(); - + virtual void WarpPointer(int x, int y); - - virtual void Refresh( bool eraseBackground = TRUE, - const wxRect *rect = (const wxRect *) NULL ); + + virtual void Refresh( bool eraseBackground = true, + const wxRect *rect = (const wxRect *) NULL ); virtual void Update(); - + virtual bool SetBackgroundColour( const wxColour &colour ); virtual bool SetForegroundColour( const wxColour &colour ); - + virtual bool SetCursor( const wxCursor &cursor ); virtual bool SetFont( const wxFont &font ); - + virtual int GetCharHeight() const; virtual int GetCharWidth() const; virtual void GetTextExtent(const wxString& string, @@ -74,91 +77,91 @@ public: int *externalLeading = (int *) NULL, const wxFont *theFont = (const wxFont *) NULL) const; - + virtual void ScrollWindow( int dx, int dy, const wxRect* rect = (wxRect *) NULL ); - + virtual void DoSetSizeHints(int minW, int minH, - int maxW = -1, int maxH = -1, - int incW = -1, int incH = -1); + int maxW = wxDefaultCoord, int maxH = wxDefaultCoord, + int incW = wxDefaultCoord, int incH = wxDefaultCoord); #if wxUSE_DRAG_AND_DROP virtual void SetDropTarget( wxDropTarget *dropTarget ); #endif // wxUSE_DRAG_AND_DROP - + // Accept files for dragging virtual void DragAcceptFiles(bool accept); - + // Get the unique identifier of a window virtual WXWindow GetHandle() const { return GetMainWindow(); } - + // implementation from now on // -------------------------- - + // accessors // --------- - + // Get main X11 window virtual WXWindow GetMainWindow() const; - + // Get X11 window representing the client area virtual WXWindow GetClientAreaWindow() const; void SetLastClick(int button, long timestamp) { m_lastButton = button; m_lastTS = timestamp; } - + int GetLastClickedButton() const { return m_lastButton; } long GetLastClickTime() const { return m_lastTS; } - + // Gives window a chance to do something in response to a size message, e.g. // arrange status bar, toolbar etc. virtual bool PreResize(); - + // Generates paint events from m_updateRegion void SendPaintEvents(); - + // Generates paint events from flag void SendNcPaintEvents(); - + // Generates erase events from m_clearRegion void SendEraseEvents(); - + // Clip to paint region? bool GetClipPaintRegion() { return m_clipPaintRegion; } - + // Return clear region wxRegion &GetClearRegion() { return m_clearRegion; } - - void NeedUpdateNcAreaInIdle( bool update = TRUE ) { m_updateNcArea = update; } - + + void NeedUpdateNcAreaInIdle( bool update = true ) { m_updateNcArea = update; } + // Inserting into main window instead of client // window. This is mostly for a wxWindow's own // scrollbars. - void SetInsertIntoMain( bool insert = TRUE ) { m_insertIntoMain = insert; } + void SetInsertIntoMain( bool insert = true ) { m_insertIntoMain = insert; } bool GetInsertIntoMain() { return m_insertIntoMain; } - + // sets the fore/background colour for the given widget static void DoChangeForegroundColour(WXWindow widget, wxColour& foregroundColour); - static void DoChangeBackgroundColour(WXWindow widget, wxColour& backgroundColour, bool changeArmColour = FALSE); - + static void DoChangeBackgroundColour(WXWindow widget, wxColour& backgroundColour, bool changeArmColour = false); + // I don't want users to override what's done in idle so everything that // has to be done in idle time in order for wxX11 to work is done in // OnInternalIdle virtual void OnInternalIdle(); - + protected: // Responds to colour changes: passes event on to children. void OnSysColourChanged(wxSysColourChangedEvent& event); - + // For double-click detection long m_lastTS; // last timestamp int m_lastButton; // last pressed button - + protected: WXWindow m_mainWindow; WXWindow m_clientWindow; bool m_insertIntoMain; - + bool m_winCaptured; wxRegion m_clearRegion; bool m_clipPaintRegion; @@ -182,11 +185,11 @@ protected: #if wxUSE_TOOLTIPS virtual void DoSetToolTip( wxToolTip *tip ); #endif // wxUSE_TOOLTIPS - + private: // common part of all ctors void Init(); - + DECLARE_DYNAMIC_CLASS(wxWindowX11) DECLARE_NO_COPY_CLASS(wxWindowX11) DECLARE_EVENT_TABLE() @@ -208,12 +211,11 @@ class WXDLLEXPORT wxNoOptimize public: wxNoOptimize() { ms_count++; } ~wxNoOptimize() { ms_count--; } - + static bool CanOptimize() { return ms_count == 0; } - + protected: static int ms_count; }; -#endif -// _WX_WINDOW_H_ +#endif // _WX_WINDOW_H_ diff --git a/src/x11/toplevel.cpp b/src/x11/toplevel.cpp index c6d1b1c130..eae804059d 100644 --- a/src/x11/toplevel.cpp +++ b/src/x11/toplevel.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: x11/toplevel.cpp +// Name: src/x11/toplevel.cpp // Purpose: implements wxTopLevelWindow for X11 // Author: Julian Smart // Modified by: @@ -50,20 +50,20 @@ bool wxMWMIsRunning(Window w); void wxTopLevelWindowX11::Init() { m_iconized = - m_maximizeOnShow = FALSE; + m_maximizeOnShow = false; // unlike (almost?) all other windows, frames are created hidden - m_isShown = FALSE; + m_isShown = false; // Data to save/restore when calling ShowFullScreen m_fsStyle = 0; - m_fsIsMaximized = FALSE; - m_fsIsShowing = FALSE; - - m_needResizeInIdle = FALSE; - - m_x = -1; - m_y = -1; + m_fsIsMaximized = false; + m_fsIsShowing = false; + + m_needResizeInIdle = false; + + m_x = wxDefaultCoord; + m_y = wxDefaultCoord; m_width = 20; m_height = 20; } @@ -84,45 +84,45 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, SetName(name); - m_windowId = id == -1 ? NewControlId() : id; + m_windowId = id == wxID_ANY ? NewControlId() : id; if (parent) parent->AddChild(this); wxTopLevelWindows.Append(this); - + Display *xdisplay = wxGlobalDisplay(); int xscreen = DefaultScreen( xdisplay ); Visual *xvisual = DefaultVisual( xdisplay, xscreen ); Window xparent = RootWindow( xdisplay, xscreen ); Colormap cm = DefaultColormap( xdisplay, xscreen ); - + if (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG) m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE); else m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE); m_backgroundColour.CalcPixel( (WXColormap) cm ); - m_hasBgCol = TRUE; - + m_hasBgCol = true; + m_x = pos.x; if (m_x < -1) m_x = 10; - + m_y = pos.y; if (m_y < 0) m_y = 10; - + m_width = size.x; if (m_width < 0) m_width = 500; - + m_height = size.y; if (m_height < 0) m_height = 380; - + #if !wxUSE_NANOX XSetWindowAttributes xattributes; - + long xattributes_mask = CWBorderPixel | CWBackPixel; @@ -134,27 +134,27 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, xattributes_mask |= CWOverrideRedirect; xattributes.override_redirect = True; } - + if (!HasFlag( wxFULL_REPAINT_ON_RESIZE )) { xattributes_mask |= CWBitGravity; xattributes.bit_gravity = NorthWestGravity; } - + xattributes_mask |= CWEventMask; - xattributes.event_mask = + xattributes.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask | KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask | PropertyChangeMask; - + Window xwindow = XCreateWindow( xdisplay, xparent, m_x, m_y, m_width, m_height, 0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes ); #else long backColor, foreColor; backColor = GR_RGB(m_backgroundColour.Red(), m_backgroundColour.Green(), m_backgroundColour.Blue()); foreColor = GR_RGB(m_foregroundColour.Red(), m_foregroundColour.Green(), m_foregroundColour.Blue()); - + Window xwindow = XCreateWindowWithColor( xdisplay, xparent, m_x, m_y, m_width, m_height, 0, 0, InputOutput, xvisual, backColor, foreColor); #endif @@ -213,11 +213,11 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, size_hints.height = m_height; size_hints.win_gravity = NorthWestGravity; XSetWMNormalHints( xdisplay, xwindow, &size_hints); - + XWMHints wm_hints; wm_hints.flags = InputHint | StateHint; if (GetParent()) - { + { wm_hints.flags |= WindowGroupHint; wm_hints.window_group = (Window) GetParent()->GetMainWindow(); } @@ -231,12 +231,12 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent, XSetWMProtocols( xdisplay, xwindow, wm_protocols, 2); #endif - + wxSetWMDecorations( xwindow, style); SetTitle(title); - - return TRUE; + + return true; } wxTopLevelWindowX11::~wxTopLevelWindowX11() @@ -259,7 +259,7 @@ wxTopLevelWindowX11::~wxTopLevelWindowX11() void wxTopLevelWindowX11::OnInternalIdle() { wxWindow::OnInternalIdle(); - + // Do this only after the last idle event so that // all windows have been updated before a new // round of size events is sent @@ -268,8 +268,8 @@ void wxTopLevelWindowX11::OnInternalIdle() wxSizeEvent event( GetClientSize(), GetId() ); event.SetEventObject( this ); GetEventHandler()->ProcessEvent( event ); - - m_needResizeInIdle = FALSE; + + m_needResizeInIdle = false; } } @@ -282,15 +282,15 @@ bool wxTopLevelWindowX11::Show(bool show) if (show) { wxSizeEvent event(GetSize(), GetId()); - + event.SetEventObject(this); GetEventHandler()->ProcessEvent(event); - - m_needResizeInIdle = FALSE; + + m_needResizeInIdle = false; } bool ret = wxWindowX11::Show(show); - + return ret; } @@ -306,7 +306,7 @@ void wxTopLevelWindowX11::Maximize(bool maximize) bool wxTopLevelWindowX11::IsMaximized() const { // TODO - return TRUE; + return true; } void wxTopLevelWindowX11::Iconize(bool iconize) @@ -315,7 +315,7 @@ void wxTopLevelWindowX11::Iconize(bool iconize) { if (XIconifyWindow(wxGlobalDisplay(), (Window) GetMainWindow(), DefaultScreen(wxGlobalDisplay())) != 0) - m_iconized = TRUE; + m_iconized = true; } } @@ -330,7 +330,7 @@ void wxTopLevelWindowX11::Restore() if (m_iconized && GetMainWindow()) { XMapWindow(wxGlobalDisplay(), (Window) GetMainWindow()); - m_iconized = FALSE; + m_iconized = false; } } @@ -343,24 +343,24 @@ bool wxTopLevelWindowX11::ShowFullScreen(bool show, long style) if (show) { if (IsFullScreen()) - return FALSE; + return false; - m_fsIsShowing = TRUE; + m_fsIsShowing = true; m_fsStyle = style; // TODO - return TRUE; + return true; } else { if (!IsFullScreen()) - return FALSE; + return false; - m_fsIsShowing = FALSE; + m_fsIsShowing = false; // TODO - return TRUE; + return true; } } @@ -410,7 +410,7 @@ bool wxTopLevelWindowX11::SetShape(const wxRegion& region) void wxTopLevelWindowX11::SetTitle(const wxString& title) { m_title = title; - + if (GetMainWindow()) { #if wxUSE_UNICODE @@ -467,12 +467,12 @@ void wxTopLevelWindowX11::DoSetClientSize(int width, int height) m_width = width; m_height = height; - + if (m_width == old_width && m_height == old_height) return; - + // wxLogDebug("DoSetClientSize: %s (%ld) %dx%d", GetClassInfo()->GetClassName(), GetId(), width, height); - + #if !wxUSE_NANOX XSizeHints size_hints; size_hints.flags = PSize; @@ -480,7 +480,7 @@ void wxTopLevelWindowX11::DoSetClientSize(int width, int height) size_hints.height = height; XSetWMNormalHints( wxGlobalDisplay(), (Window) GetMainWindow(), &size_hints ); #endif - + wxWindowX11::DoSetClientSize(width, height); } @@ -491,24 +491,24 @@ void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int siz int old_width = m_width; int old_height = m_height; - if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + if (x != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) m_x = x; - - if (y != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + + if (y != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) m_y = y; - - if (width != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + + if (width != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) m_width = width; - - if (height != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + + if (height != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) m_height = height; - + if (m_x == old_x && m_y == old_y && m_width == old_width && m_height == old_height) return; - + // wxLogDebug("DoSetSize: %s (%ld) %d, %d %dx%d", GetClassInfo()->GetClassName(), GetId(), x, y, width, height); -#if !wxUSE_NANOX +#if !wxUSE_NANOX XSizeHints size_hints; size_hints.flags = 0; size_hints.flags |= PPosition; @@ -521,7 +521,7 @@ void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int siz #endif wxWindowX11::DoSetSize(x, y, width, height, sizeFlags); - + #if 0 Display *display = wxGlobalDisplay(); Window root = RootWindowOfScreen(DefaultScreenOfDisplay(display)); @@ -551,20 +551,20 @@ void wxTopLevelWindowX11::DoSetSize(int x, int y, int width, int height, int siz windowChanges.stack_mode = 0; int valueMask = CWX | CWY | CWWidth | CWHeight; - if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + if (x != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) { valueMask |= CWX; } - if (y != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + if (y != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) { valueMask |= CWY; } - if (width != -1) + if (width != wxDefaultCoord) { windowChanges.width = wxMax(1, width); valueMask |= CWWidth; } - if (height != -1) + if (height != wxDefaultCoord) { windowChanges.height = wxMax(1, height); valueMask |= CWHeight; @@ -651,7 +651,7 @@ void wxTopLevelWindowX11::DoGetPosition(int *x, int *y) const #define MWM_INPUT_FULL_APPLICATION_MODAL 3 #define MWM_INPUT_APPLICATION_MODAL MWM_INPUT_PRIMARY_APPLICATION_MODAL -#define MWM_TEAROFF_WINDOW (1L<<0) +#define MWM_TEAROFF_WINDOW (1L<<0) #endif @@ -729,18 +729,18 @@ bool wxSetWMDecorations(Window w, long style) } GrSetWMProperties(w, & wmProp); - + #else Atom mwm_wm_hints = XInternAtom(wxGlobalDisplay(),"_MOTIF_WM_HINTS", False); if (mwm_wm_hints == 0) - return FALSE; - + return false; + MwmHints hints; hints.flags = MWM_HINTS_DECORATIONS | MWM_HINTS_FUNCTIONS; hints.decorations = 0; hints.functions = 0; - + if ((style & wxSIMPLE_BORDER) || (style & wxNO_BORDER)) { // leave zeros @@ -752,25 +752,25 @@ bool wxSetWMDecorations(Window w, long style) if ((style & wxCAPTION) != 0) hints.decorations |= MWM_DECOR_TITLE; - + if ((style & wxSYSTEM_MENU) != 0) hints.decorations |= MWM_DECOR_MENU; - + if ((style & wxCLOSE_BOX) != 0) hints.functions |= MWM_FUNC_CLOSE; - + if ((style & wxMINIMIZE_BOX) != 0) { hints.functions |= MWM_FUNC_MINIMIZE; hints.decorations |= MWM_DECOR_MINIMIZE; } - + if ((style & wxMAXIMIZE_BOX) != 0) { hints.functions |= MWM_FUNC_MAXIMIZE; hints.decorations |= MWM_DECOR_MAXIMIZE; } - + if ((style & wxRESIZE_BORDER) != 0) { hints.functions |= MWM_FUNC_RESIZE; @@ -779,13 +779,11 @@ bool wxSetWMDecorations(Window w, long style) } XChangeProperty(wxGlobalDisplay(), - w, - mwm_wm_hints, mwm_wm_hints, - 32, PropModeReplace, - (unsigned char *) &hints, PROP_MOTIF_WM_HINTS_ELEMENTS); + w, + mwm_wm_hints, mwm_wm_hints, + 32, PropModeReplace, + (unsigned char *) &hints, PROP_MOTIF_WM_HINTS_ELEMENTS); #endif - return TRUE; + return true; } - - diff --git a/src/x11/window.cpp b/src/x11/window.cpp index 0a44944c1a..6f3a3fdc16 100644 --- a/src/x11/window.cpp +++ b/src/x11/window.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: windows.cpp +// Name: src/x11/windows.cpp // Purpose: wxWindow // Author: Julian Smart // Modified by: @@ -96,24 +96,24 @@ void wxWindowX11::Init() // X11-specific m_mainWindow = (WXWindow) 0; m_clientWindow = (WXWindow) 0; - m_insertIntoMain = FALSE; - m_updateNcArea = FALSE; + m_insertIntoMain = false; + m_updateNcArea = false; - m_winCaptured = FALSE; - m_needsInputFocus = FALSE; - m_isShown = TRUE; + m_winCaptured = false; + m_needsInputFocus = false; + m_isShown = true; m_lastTS = 0; m_lastButton = 0; } // real construction (Init() must have been called before!) bool wxWindowX11::Create(wxWindow *parent, wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name) + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) { - wxCHECK_MSG( parent, FALSE, wxT("can't create wxWindow without parent") ); + wxCHECK_MSG( parent, false, wxT("can't create wxWindow without parent") ); CreateBase(parent, id, pos, size, style, wxDefaultValidator, name); @@ -148,16 +148,16 @@ bool wxWindowX11::Create(wxWindow *parent, wxWindowID id, size2.y = 20; wxPoint pos2(pos); - if (pos2.x == -1) + if (pos2.x == wxDefaultCoord) pos2.x = 0; - if (pos2.y == -1) + if (pos2.y == wxDefaultCoord) pos2.y = 0; #if wxUSE_TWO_WINDOWS bool need_two_windows = ((( wxSUNKEN_BORDER | wxRAISED_BORDER | wxSIMPLE_BORDER | wxHSCROLL | wxVSCROLL ) & m_windowStyle) != 0); #else - bool need_two_windows = FALSE; + bool need_two_windows = false; #endif #if wxUSE_NANOX @@ -314,7 +314,7 @@ bool wxWindowX11::Create(wxWindow *parent, wxWindowID id, } // Is a subwindow, so map immediately - m_isShown = TRUE; + m_isShown = true; // Without this, the cursor may not be restored properly (e.g. in splitter // sample). @@ -325,7 +325,7 @@ bool wxWindowX11::Create(wxWindow *parent, wxWindowID id, // for example // SetSize(pos.x, pos.y, size.x, size.y); - return TRUE; + return true; } // Destructor @@ -336,7 +336,7 @@ wxWindowX11::~wxWindowX11() if (g_captureWindow == this) g_captureWindow = NULL; - m_isBeingDeleted = TRUE; + m_isBeingDeleted = true; DestroyChildren(); @@ -385,11 +385,11 @@ void wxWindowX11::SetFocus() wxLogTrace( _T("focus"), _T("wxWindowX11::SetFocus: %s"), GetClassInfo()->GetClassName()); // XSetInputFocus( wxGlobalDisplay(), xwindow, RevertToParent, CurrentTime ); XSetInputFocus( wxGlobalDisplay(), xwindow, RevertToNone, CurrentTime ); - m_needsInputFocus = FALSE; + m_needsInputFocus = false; } else { - m_needsInputFocus = TRUE; + m_needsInputFocus = true; } } @@ -419,9 +419,9 @@ wxWindow *wxWindowBase::DoFindFocus() bool wxWindowX11::Enable(bool enable) { if ( !wxWindowBase::Enable(enable) ) - return FALSE; + return false; - return TRUE; + return true; } bool wxWindowX11::Show(bool show) @@ -441,7 +441,7 @@ bool wxWindowX11::Show(bool show) XUnmapWindow(xdisp, xwindow); } - return TRUE; + return true; } // Raise the window to the top of the Z order @@ -458,11 +458,22 @@ void wxWindowX11::Lower() XLowerWindow( wxGlobalDisplay(), (Window) m_mainWindow ); } +void wxWindowX11::SetLabel(const wxString& WXUNUSED(label)) +{ + // TODO +} + +wxString wxWindowX11::GetLabel() const +{ + // TODO + return wxEmptyString; +} + void wxWindowX11::DoCaptureMouse() { if ((g_captureWindow != NULL) && (g_captureWindow != this)) { - wxASSERT_MSG(FALSE, wxT("Trying to capture before mouse released.")); + wxASSERT_MSG(false, wxT("Trying to capture before mouse released.")); // Core dump now int *tmp = NULL; @@ -502,7 +513,7 @@ void wxWindowX11::DoCaptureMouse() return; } - m_winCaptured = TRUE; + m_winCaptured = true; } } @@ -522,7 +533,7 @@ void wxWindowX11::DoReleaseMouse() // wxLogDebug( "Ungrabbed pointer in %s", GetName().c_str() ); - m_winCaptured = FALSE; + m_winCaptured = false; } bool wxWindowX11::SetFont(const wxFont& font) @@ -530,10 +541,10 @@ bool wxWindowX11::SetFont(const wxFont& font) if ( !wxWindowBase::SetFont(font) ) { // nothing to do - return FALSE; + return false; } - return TRUE; + return true; } bool wxWindowX11::SetCursor(const wxCursor& cursor) @@ -541,12 +552,12 @@ bool wxWindowX11::SetCursor(const wxCursor& cursor) if ( !wxWindowBase::SetCursor(cursor) ) { // no change - return FALSE; + return false; } Window xwindow = (Window) m_clientWindow; - wxCHECK_MSG( xwindow, FALSE, wxT("invalid window") ); + wxCHECK_MSG( xwindow, false, wxT("invalid window") ); wxCursor cursorToUse; if (m_cursor.Ok()) @@ -558,7 +569,7 @@ bool wxWindowX11::SetCursor(const wxCursor& cursor) XDefineCursor( wxGlobalDisplay(), xwindow, xcursor ); - return TRUE; + return true; } // Coordinates relative to the window @@ -727,7 +738,7 @@ void wxWindowX11::DoSetToolTip(wxToolTip * WXUNUSED(tooltip)) bool wxWindowX11::PreResize() { - return TRUE; + return true; } // Get total size @@ -838,25 +849,25 @@ void wxWindowX11::DoSetSize(int x, int y, int width, int height, int sizeFlags) int new_w = attr.width; int new_h = attr.height; - if (x != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + if (x != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) { int yy = 0; AdjustForParentClientOrigin( x, yy, sizeFlags); new_x = x; } - if (y != -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) + if (y != wxDefaultCoord || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) { int xx = 0; AdjustForParentClientOrigin( xx, y, sizeFlags); new_y = y; } - if (width != -1) + if (width != wxDefaultCoord) { new_w = width; if (new_w <= 0) new_w = 20; } - if (height != -1) + if (height != wxDefaultCoord) { new_h = height; if (new_h <= 0) @@ -1047,16 +1058,16 @@ int wxWindowX11::GetCharWidth() const } void wxWindowX11::GetTextExtent(const wxString& string, - int *x, int *y, - int *descent, int *externalLeading, - const wxFont *theFont) const + int *x, int *y, + int *descent, int *externalLeading, + const wxFont *theFont) const { wxFont fontToUse = GetFont(); if (theFont) fontToUse = *theFont; wxCHECK_RET( fontToUse.Ok(), wxT("invalid font") ); - if (string.IsEmpty()) + if (string.empty()) { if (x) (*x) = 0; if (y) (*y) = 0; @@ -1201,7 +1212,7 @@ void wxWindowX11::SendPaintEvents() { // wxLogDebug("SendPaintEvents: %s (%ld)", GetClassInfo()->GetClassName(), GetId()); - m_clipPaintRegion = TRUE; + m_clipPaintRegion = true; wxPaintEvent paint_event( GetId() ); paint_event.SetEventObject( this ); @@ -1209,7 +1220,7 @@ void wxWindowX11::SendPaintEvents() m_updateRegion.Clear(); - m_clipPaintRegion = FALSE; + m_clipPaintRegion = false; } void wxWindowX11::SendNcPaintEvents() @@ -1249,7 +1260,7 @@ void wxWindowX11::SendNcPaintEvents() nc_paint_event.SetEventObject( this ); GetEventHandler()->ProcessEvent( nc_paint_event ); - m_updateNcArea = FALSE; + m_updateNcArea = false; } // ---------------------------------------------------------------------------- @@ -1300,7 +1311,7 @@ void wxWindowX11::OnInternalIdle() // If it couldn't set the focus now, there's // no point in trying again. - m_needsInputFocus = FALSE; + m_needsInputFocus = false; } g_GettingFocus = NULL; } @@ -1315,13 +1326,13 @@ static bool DoAddWindowToTable(wxWindowHash *hash, Window w, wxWindow *win) { wxLogDebug( wxT("Widget table clash: new widget is 0x%08x, %s"), (unsigned int)w, win->GetClassInfo()->GetClassName()); - return FALSE; + return false; } wxLogTrace( wxT("widget"), wxT("XWindow 0x%08x <-> window %p (%s)"), (unsigned int) w, win, win->GetClassInfo()->GetClassName()); - return TRUE; + return true; } static inline wxWindow *DoGetWindowFromTable(wxWindowHash *hash, Window w) @@ -1478,11 +1489,11 @@ bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, Window window, { eventType = wxEVT_RIGHT_UP; } - else return FALSE; + else return false; } else { - return FALSE; + return false; } wxevent.SetEventType(eventType); @@ -1508,10 +1519,10 @@ bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, Window window, wxevent.SetId(win->GetId()); wxevent.SetEventObject(win); - return TRUE; + return true; } } - return FALSE; + return false; } bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win), XEvent *xevent, bool isAscii) @@ -1551,7 +1562,7 @@ bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win default: break; } - return FALSE; + return false; } // ---------------------------------------------------------------------------- @@ -1572,15 +1583,15 @@ bool wxWindowX11::SetBackgroundColour(const wxColour& col) // the background ourselves. // XSetWindowBackground( xdisplay, (Window) m_clientWindow, m_backgroundColour.GetPixel() ); - return TRUE; + return true; } bool wxWindowX11::SetForegroundColour(const wxColour& col) { if ( !wxWindowBase::SetForegroundColour(col) ) - return FALSE; + return false; - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -1662,7 +1673,7 @@ bool wxWinModule::OnInit() g_eraseGC = XCreateGC( xdisplay, xroot, 0, NULL ); XSetFillStyle( xdisplay, g_eraseGC, FillSolid ); - return TRUE; + return true; } void wxWinModule::OnExit() @@ -1670,5 +1681,3 @@ void wxWinModule::OnExit() Display *xdisplay = wxGlobalDisplay(); XFreeGC( xdisplay, g_eraseGC ); } - - -- 2.47.2