From b0351fc91ec11f36961b24440056660dc17b8718 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Wed, 5 May 1999 21:42:48 +0000 Subject: [PATCH] added wxStaticLine used in wxMessageBox added wxNO_BORDER style to radiobox git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/defs.h | 10 ++++++- include/wx/gtk/statline.h | 55 +++++++++++++++++++++++++++++++++++ include/wx/gtk1/statline.h | 55 +++++++++++++++++++++++++++++++++++ include/wx/statline.h | 19 ++++++++++++ src/generic/msgdlgg.cpp | 8 ++++++ src/gtk.inc | 1 + src/gtk/radiobox.cpp | 3 ++ src/gtk/statline.cpp | 59 ++++++++++++++++++++++++++++++++++++++ src/gtk1/radiobox.cpp | 3 ++ src/gtk1/statline.cpp | 59 ++++++++++++++++++++++++++++++++++++++ 10 files changed, 271 insertions(+), 1 deletion(-) create mode 100644 include/wx/gtk/statline.h create mode 100644 include/wx/gtk1/statline.h create mode 100644 include/wx/statline.h create mode 100644 src/gtk/statline.cpp create mode 100644 src/gtk1/statline.cpp diff --git a/include/wx/defs.h b/include/wx/defs.h index 4f6f3379c1..127a3da550 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -535,7 +535,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxSB_VERTICAL wxVERTICAL /* - * wxButton flags + * wxButton flags (Win32 only) */ #define wxBU_AUTODRAW 0x0004 #define wxBU_NOAUTODRAW 0x0000 @@ -619,6 +619,14 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxST_SIZEGRIP 0x0002 +/* + * wxStaticLine flags + */ +#define wxLI_HORIZONTAL wxHORIZONTAL +#define wxLI_VERTICAL wxVERTICAL + + + /* * GDI descriptions */ diff --git a/include/wx/gtk/statline.h b/include/wx/gtk/statline.h new file mode 100644 index 0000000000..c6819e51a5 --- /dev/null +++ b/include/wx/gtk/statline.h @@ -0,0 +1,55 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: statline.h +// Purpose: +// Author: Robert Roebling +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + + +#ifndef __GTKSTATICLINEH__ +#define __GTKSTATICLINEH__ + +#ifdef __GNUG__ +#pragma interface +#endif + +#include "wx/defs.h" +#include "wx/object.h" +#include "wx/list.h" +#include "wx/control.h" + +//----------------------------------------------------------------------------- +// classes +//----------------------------------------------------------------------------- + +class wxStaticLine; + +//----------------------------------------------------------------------------- +// global data +//----------------------------------------------------------------------------- + +extern const char *wxStaticTextNameStr; + +//----------------------------------------------------------------------------- +// wxStaticLine +//----------------------------------------------------------------------------- + +class wxStaticLine: public wxControl +{ + DECLARE_DYNAMIC_CLASS(wxStaticLine) + + public: + + wxStaticLine(void); + wxStaticLine( wxWindow *parent, wxWindowID id, + const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, + long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr ); + bool Create( wxWindow *parent, wxWindowID id, + const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, + long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr ); + +}; + +#endif // __GTKSTATICLINEH__ diff --git a/include/wx/gtk1/statline.h b/include/wx/gtk1/statline.h new file mode 100644 index 0000000000..c6819e51a5 --- /dev/null +++ b/include/wx/gtk1/statline.h @@ -0,0 +1,55 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: statline.h +// Purpose: +// Author: Robert Roebling +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + + +#ifndef __GTKSTATICLINEH__ +#define __GTKSTATICLINEH__ + +#ifdef __GNUG__ +#pragma interface +#endif + +#include "wx/defs.h" +#include "wx/object.h" +#include "wx/list.h" +#include "wx/control.h" + +//----------------------------------------------------------------------------- +// classes +//----------------------------------------------------------------------------- + +class wxStaticLine; + +//----------------------------------------------------------------------------- +// global data +//----------------------------------------------------------------------------- + +extern const char *wxStaticTextNameStr; + +//----------------------------------------------------------------------------- +// wxStaticLine +//----------------------------------------------------------------------------- + +class wxStaticLine: public wxControl +{ + DECLARE_DYNAMIC_CLASS(wxStaticLine) + + public: + + wxStaticLine(void); + wxStaticLine( wxWindow *parent, wxWindowID id, + const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, + long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr ); + bool Create( wxWindow *parent, wxWindowID id, + const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, + long style = wxLI_HORIZONTAL, const wxString &name = wxStaticTextNameStr ); + +}; + +#endif // __GTKSTATICLINEH__ diff --git a/include/wx/statline.h b/include/wx/statline.h new file mode 100644 index 0000000000..d7e2de31b4 --- /dev/null +++ b/include/wx/statline.h @@ -0,0 +1,19 @@ +#ifndef _WX_STATLINE_H_BASE_ +#define _WX_STATLINE_H_BASE_ + +#if defined(__WXMSW__) +#include "wx/msw/statline.h" +#elif defined(__WXMOTIF__) +#include "wx/motif/statline.h" +#elif defined(__WXGTK__) +#include "wx/gtk/statline.h" +#elif defined(__WXQT__) +#include "wx/qt/statline.h" +#elif defined(__WXMAC__) +#include "wx/mac/statline.h" +#elif defined(__WXSTUBS__) +#include "wx/stubs/statline.h" +#endif + +#endif + // _WX_STATLINE_H_BASE_ diff --git a/src/generic/msgdlgg.cpp b/src/generic/msgdlgg.cpp index fd729112db..0908cdb04e 100644 --- a/src/generic/msgdlgg.cpp +++ b/src/generic/msgdlgg.cpp @@ -35,6 +35,10 @@ #include "wx/generic/msgdlgg.h" +#ifdef __WXGTK__ +#include "wx/statline.h" +#endif + /////////////////////////////////////////////////////////////////// // New dialog box implementations @@ -146,6 +150,10 @@ wxGenericMessageDialog::wxGenericMessageDialog( wxWindow *parent, const wxString n++; } +#ifdef __WXGTK__ + (void) new wxStaticLine( this, -1, wxPoint(0,y-20), wxSize(w+30, 5) ); +#endif + SetSize( w+30, y+40 ); Centre( wxBOTH ); diff --git a/src/gtk.inc b/src/gtk.inc index 070e9c59fb..7ef8880f5b 100644 --- a/src/gtk.inc +++ b/src/gtk.inc @@ -122,6 +122,7 @@ LIB_CPP_SRC=\ gtk/spinbutt.cpp \ gtk/statbox.cpp \ gtk/statbmp.cpp \ + gtk/statline.cpp \ gtk/stattext.cpp \ gtk/tbargtk.cpp \ gtk/textctrl.cpp \ diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index bfe45bdf39..d972100b26 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -249,6 +249,9 @@ bool wxRadioBox::Show( bool show ) wxWindow::Show( show ); + if ((m_windowStyle & wxNO_BORDER) == 0) + gtk_widget_hide( m_widget ); + wxNode *node = m_boxes.First(); while (node) { diff --git a/src/gtk/statline.cpp b/src/gtk/statline.cpp new file mode 100644 index 0000000000..a9a3c2f305 --- /dev/null +++ b/src/gtk/statline.cpp @@ -0,0 +1,59 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: statline.cpp +// Purpose: +// Author: Robert Roebling +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifdef __GNUG__ +#pragma implementation "statline.h" +#endif + +#include "wx/statline.h" + +#include "gdk/gdk.h" +#include "gtk/gtk.h" + +//----------------------------------------------------------------------------- +// wxStaticLine +//----------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxStaticLine,wxControl) + +wxStaticLine::wxStaticLine(void) +{ +} + +wxStaticLine::wxStaticLine( wxWindow *parent, wxWindowID id, + const wxPoint &pos, const wxSize &size, + long style, const wxString &name ) +{ + Create( parent, id, pos, size, style, name ); +} + +bool wxStaticLine::Create( wxWindow *parent, wxWindowID id, + const wxPoint &pos, const wxSize &size, + long style, const wxString &name ) +{ + m_needParent = TRUE; + + PreCreation( parent, id, pos, size, style, name ); + + if (style & wxVERTICAL) + m_widget = gtk_vseparator_new(); + else + m_widget = gtk_hseparator_new(); + + m_parent->AddChild( this ); + + (m_parent->m_insertCallback)( m_parent, this ); + + PostCreation(); + + Show( TRUE ); + + return TRUE; +} + diff --git a/src/gtk1/radiobox.cpp b/src/gtk1/radiobox.cpp index bfe45bdf39..d972100b26 100644 --- a/src/gtk1/radiobox.cpp +++ b/src/gtk1/radiobox.cpp @@ -249,6 +249,9 @@ bool wxRadioBox::Show( bool show ) wxWindow::Show( show ); + if ((m_windowStyle & wxNO_BORDER) == 0) + gtk_widget_hide( m_widget ); + wxNode *node = m_boxes.First(); while (node) { diff --git a/src/gtk1/statline.cpp b/src/gtk1/statline.cpp new file mode 100644 index 0000000000..a9a3c2f305 --- /dev/null +++ b/src/gtk1/statline.cpp @@ -0,0 +1,59 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: statline.cpp +// Purpose: +// Author: Robert Roebling +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifdef __GNUG__ +#pragma implementation "statline.h" +#endif + +#include "wx/statline.h" + +#include "gdk/gdk.h" +#include "gtk/gtk.h" + +//----------------------------------------------------------------------------- +// wxStaticLine +//----------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxStaticLine,wxControl) + +wxStaticLine::wxStaticLine(void) +{ +} + +wxStaticLine::wxStaticLine( wxWindow *parent, wxWindowID id, + const wxPoint &pos, const wxSize &size, + long style, const wxString &name ) +{ + Create( parent, id, pos, size, style, name ); +} + +bool wxStaticLine::Create( wxWindow *parent, wxWindowID id, + const wxPoint &pos, const wxSize &size, + long style, const wxString &name ) +{ + m_needParent = TRUE; + + PreCreation( parent, id, pos, size, style, name ); + + if (style & wxVERTICAL) + m_widget = gtk_vseparator_new(); + else + m_widget = gtk_hseparator_new(); + + m_parent->AddChild( this ); + + (m_parent->m_insertCallback)( m_parent, this ); + + PostCreation(); + + Show( TRUE ); + + return TRUE; +} +