// Implement Pool of Graphic contexts. Creating them takes too much time.
//-----------------------------------------------------------------------------
-#define GC_POOL_SIZE 200
-
enum wxPoolGCType
{
wxGC_ERROR = 0,
#include "wx/gtk/win_gtk.h"
//-----------------------------------------------------------------------------
-// idle system
+// global data
//-----------------------------------------------------------------------------
-extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
extern int g_openDialogs;
//-----------------------------------------------------------------------------
void wxDialog::Init()
{
m_returnCode = 0;
- m_sizeSet = FALSE;
- m_modalShowing = FALSE;
- m_themeEnabled = TRUE;
+ m_sizeSet = false;
+ m_modalShowing = false;
+ m_themeEnabled = true;
}
wxDialog::wxDialog( wxWindow *parent,
else
{
SetReturnCode(wxID_CANCEL);
- Show(FALSE);
+ Show(false);
}
}
else
{
SetReturnCode(wxID_OK);
- Show(FALSE);
+ Show(false);
}
}
}
}
wxBusyCursorSuspender cs; // temporarily suppress the busy cursor
-
- Show( TRUE );
+
+ Show( true );
SetFocus();
- m_modalShowing = TRUE;
+ m_modalShowing = true;
g_openDialogs++;
return;
}
- m_modalShowing = FALSE;
+ m_modalShowing = false;
gtk_main_quit();
- Show( FALSE );
+ Show( false );
}
//-----------------------------------------------------------------------------
extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
//-----------------------------------------------------------------------------
// "clicked" for OK-button
extern void wxapp_install_idle_handler();
extern bool g_isIdle;
-extern int g_openDialogs;
// ----------------------------------------------------------------------------
// event tables
{
if (!win->m_hasVMT) return;
- win->m_menuBarDetached = FALSE;
+ win->m_menuBarDetached = false;
win->GtkUpdateSize();
}
}
// Raise the client area area
gdk_window_raise( win->m_wxwindow->window );
- win->m_menuBarDetached = TRUE;
+ win->m_menuBarDetached = true;
win->GtkUpdateSize();
}
}
{
if (!win->m_hasVMT) return;
- win->m_toolBarDetached = FALSE;
+ win->m_toolBarDetached = false;
win->GtkUpdateSize();
}
}
// Raise the client area area
gdk_window_raise( win->m_wxwindow->window );
- win->m_toolBarDetached = TRUE;
+ win->m_toolBarDetached = true;
win->GtkUpdateSize();
}
}
child->m_y,
child->m_width,
child->m_height );
-
+
#if wxUSE_TOOLBAR_NATIVE
// We connect to these events for recalculating the client area
// space when the toolbar is floating
child->m_width,
child->m_height );
}
-
+
// Resize on OnInternalIdle
parent->GtkUpdateSize();
}
void wxFrame::Init()
{
- m_menuBarDetached = FALSE;
- m_toolBarDetached = FALSE;
+ m_menuBarDetached = false;
+ m_toolBarDetached = false;
m_menuBarHeight = 2;
}
bool rt = wxTopLevelWindow::Create(parent, id, title, pos, sizeOrig,
style, name);
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
-
+
return rt;
}
wxFrame::~wxFrame()
{
- m_isBeingDeleted = TRUE;
+ m_isBeingDeleted = true;
DeleteAllBars();
}
// avoid recursions
if (m_resizing) return;
- m_resizing = TRUE;
+ m_resizing = true;
// this shouldn't happen: wxFrame, wxMDIParentFrame and wxMDIChildFrame have m_wxwindow
wxASSERT_MSG( (m_wxwindow != NULL), wxT("invalid frame") );
}
#endif // wxUSE_STATUSBAR
- m_sizeSet = TRUE;
+ m_sizeSet = true;
// send size event to frame
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
}
#endif // wxUSE_STATUSBAR
- m_resizing = FALSE;
+ m_resizing = false;
}
void wxFrame::OnInternalIdle()
gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached",
GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this );
}
-
+
gtk_widget_show( m_frameMenuBar->m_widget );
UpdateMenuBarSize();
req.width = 2;
req.height = 2;
-
+
// this is called after Remove with a NULL m_frameMenuBar
if ( m_frameMenuBar )
(* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_frameMenuBar->m_widget) )->size_request )
{
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
- m_insertInClientArea = FALSE;
+ m_insertInClientArea = false;
m_frameToolBar = wxFrameBase::CreateToolBar( style, id, name );
- m_insertInClientArea = TRUE;
+ m_insertInClientArea = true;
GtkUpdateSize();
void wxFrame::SetStatusBar(wxStatusBar *statbar)
{
bool hadStatBar = m_frameStatusBar != NULL;
-
+
wxFrameBase::SetStatusBar(statbar);
-
- if (hadStatBar && !m_frameStatusBar)
+
+ if (hadStatBar && !m_frameStatusBar)
GtkUpdateSize();
}
#define WXUNUSED_IN_GTK1(arg)
#endif
+// RR: After a correction to the orientation of the sash
+// this doesn't seem to be required anymore and it
+// seems to confuse some themes so USE_ERASE_RECT=0
+#define USE_ERASE_RECT 0
+
// ----------------------------------------------------------------------------
// wxRendererGTK: our wxRendererNative implementation
// ----------------------------------------------------------------------------
state = GTK_STATE_PRELIGHT;
else
state = GTK_STATE_NORMAL;
-
+
// VZ: I don't know how to get the size of the expander so as to centre it
// in the given rectangle, +2/3 below is just what looks good here...
gtk_paint_expander
gint handle_size;
gtk_widget_style_get (s_paned, "handle_size", &handle_size, NULL);
-
+
return handle_size;
#else
return SASH_SIZE + SASH_MARGIN;
// window not realized yet
return;
}
-
+
wxCoord full_size = GetGtkSplitterFullSize();
// are we drawing vertical or horizontal splitter?
const bool isVert = orient == wxVERTICAL;
GdkRectangle rect;
+#if USE_ERASE_RECT
GdkRectangle erase_rect;
+#endif
+
if ( isVert )
{
int h = win->GetClientSize().GetHeight();
rect.width = full_size;
rect.height = h;
+#if USE_ERASE_RECT
erase_rect.x = position;
erase_rect.y = 0;
erase_rect.width = full_size;
erase_rect.height = h;
+#endif
}
else // horz
{
rect.height = full_size;
rect.width = w;
+#if USE_ERASE_RECT
erase_rect.y = position;
erase_rect.x = 0;
erase_rect.height = full_size;
erase_rect.width = w;
+#endif
}
-#if 0
- // RR: After a correction to the orientation of the sash
- // this doesn't seem to be required anymore and it
- // seems to confuse some themes
-
+#if USE_ERASE_RECT
// we must erase everything first, otherwise the garbage
// from the old sash is left when dragging it
gtk_paint_flat_box
//-----------------------------------------------------------------------------
extern bool g_blockEventsOnDrag;
-extern bool g_blockEventsOnScroll;
static wxEventType g_currentUpDownEvent = wxEVT_NULL;
static const float sensitivity = 0.02;
// throw a LINEUP / LINEDOWN event if necessary
if (g_currentUpDownEvent != wxEVT_NULL)
{
- wxScrollEvent event( g_currentUpDownEvent, win->GetId(), value, orient );
+ wxScrollEvent event( g_currentUpDownEvent, win->GetId(), value, orient );
event.SetEventObject( win );
win->GetEventHandler()->ProcessEvent( event );
- }
-
- // throw other event (wxEVT_SCROLL_THUMBTRACK)
- wxScrollEvent event( command, win->GetId(), value, orient );
+ }
+
+ // throw other event (wxEVT_SCROLL_THUMBTRACK)
+ wxScrollEvent event( command, win->GetId(), value, orient );
event.SetEventObject( win );
win->GetEventHandler()->ProcessEvent( event );
{
int scroll_height, mouse_pos;
- // get the mouse position when the click is done
- if (win->HasFlag(wxSB_VERTICAL))
- {
+ // get the mouse position when the click is done
+ if (win->HasFlag(wxSB_VERTICAL))
+ {
scroll_height = GTK_WIDGET(widget)->allocation.height - 16;
mouse_pos = (int)gdk_event->y;
}
scroll_height = GTK_WIDGET(widget)->allocation.width - 16;
mouse_pos = (int)gdk_event->x;
}
-
+
// compare mouse position to scrollbar height
if (mouse_pos > scroll_height)
g_currentUpDownEvent = wxEVT_SCROLL_LINEDOWN;
win->GetEventHandler()->ProcessEvent( event );
}
- win->m_isScrolling = FALSE;
+ win->m_isScrolling = false;
// reset the LINEUP/LINEDOWN flag when the mouse button is released
g_currentUpDownEvent = wxEVT_NULL;
const wxPoint& pos, const wxSize& size,
long style, const wxValidator& validator, const wxString& name )
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
+ m_needParent = true;
+ m_acceptsFocus = true;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG( wxT("wxScrollBar creation failed") );
- return FALSE;
+ return false;
}
m_oldPos = 0.0;
PostCreation(size);
- return TRUE;
+ return true;
}
int wxScrollBar::GetThumbPosition() const
#include <glib.h>
#include "wx/gtk/private.h"
-extern GdkFont *GtkGetDefaultGuiFont();
-
// ----------------------------------------------------------------------------
// globals
// ----------------------------------------------------------------------------
void wxToolBar::Init()
{
m_toolbar = (GtkToolbar *)NULL;
- m_blockEvent = FALSE;
+ m_blockEvent = false;
m_defaultWidth = 32;
m_defaultHeight = 32;
}
long style,
const wxString& name )
{
- m_needParent = TRUE;
+ m_needParent = true;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInToolBar;
if ( !PreCreation( parent, pos, size ) ||
{
wxFAIL_MSG( wxT("wxToolBar creation failed") );
- return FALSE;
+ return false;
}
#ifdef __WXGTK20__
PostCreation(size);
- return TRUE;
+ return true;
}
void wxToolBar::GtkSetStyle()
{
wxBitmap bitmap = tool->GetNormalBitmap();
- wxCHECK_MSG( bitmap.Ok(), FALSE,
+ wxCHECK_MSG( bitmap.Ok(), false,
wxT("invalid bitmap for wxToolBar icon") );
- wxCHECK_MSG( bitmap.GetBitmap() == NULL, FALSE,
+ wxCHECK_MSG( bitmap.GetBitmap() == NULL, false,
wxT("wxToolBar doesn't support GdkBitmap") );
- wxCHECK_MSG( bitmap.GetPixmap() != NULL, FALSE,
+ wxCHECK_MSG( bitmap.GetPixmap() != NULL, false,
wxT("wxToolBar::Add needs a wxBitmap") );
GtkWidget *tool_pixmap = (GtkWidget *)NULL;
GdkBitmap *mask = (GdkBitmap *)NULL;
if ( bitmap.GetMask() )
mask = bitmap.GetMask()->GetBitmap();
-
+
tool_pixmap = gtk_pixmap_new( pixmap, mask );
gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE );
}
// this is the first button in the radio button group,
// it will be toggled automatically by GTK so bring the
// internal flag in sync
- tool->Toggle(TRUE);
+ tool->Toggle(true);
}
}
{
wxFAIL_MSG( _T("gtk_toolbar_insert_element() failed") );
- return FALSE;
+ return false;
}
gtk_signal_connect( GTK_OBJECT(tool->m_item),
gtk_toolbar_insert_space( m_toolbar, posGtk );
// skip the rest
- return TRUE;
+ return true;
case wxTOOL_STYLE_CONTROL:
gtk_toolbar_insert_widget(
m_height = req.height + 2*m_yMargin;
InvalidateBestSize();
- return TRUE;
+ return true;
}
bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *toolBase)
}
InvalidateBestSize();
- return TRUE;
+ return true;
}
// ----------------------------------------------------------------------------
{
tool->SetPixmap(tool->GetBitmap());
- m_blockEvent = TRUE;
+ m_blockEvent = true;
gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(item), toggle );
- m_blockEvent = FALSE;
+ m_blockEvent = false;
}
}
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
extern wxCursor g_globalCursor;
extern wxWindowGTK *g_delayedFocus;
extern bool g_isIdle;
extern bool g_blockEventsOnDrag;
extern wxCursor g_globalCursor;
-extern wxWindowGTK *g_delayedFocus;
extern "C" {
static void gtk_togglebutton_clicked_callback(GtkWidget *WXUNUSED(widget), wxToggleButton *cb)
{
- if (g_isIdle)
- wxapp_install_idle_handler();
-
- if (!cb->m_hasVMT || g_blockEventsOnDrag)
- return;
-
- if (cb->m_blockEvent) return;
-
- // Generate a wx event.
- wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, cb->GetId());
- event.SetInt(cb->GetValue());
- event.SetEventObject(cb);
- cb->GetEventHandler()->ProcessEvent(event);
+ if (g_isIdle)
+ wxapp_install_idle_handler();
+
+ if (!cb->m_hasVMT || g_blockEventsOnDrag)
+ return;
+
+ if (cb->m_blockEvent) return;
+
+ // Generate a wx event.
+ wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, cb->GetId());
+ event.SetInt(cb->GetValue());
+ event.SetEventObject(cb);
+ cb->GetEventHandler()->ProcessEvent(event);
}
}
const wxValidator& validator,
const wxString &name)
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
-
- m_blockEvent = FALSE;
+ m_needParent = true;
+ m_acceptsFocus = true;
+
+ m_blockEvent = false;
if (!PreCreation(parent, pos, size) ||
!CreateBase(parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG(wxT("wxToggleBitmapButton creation failed"));
- return FALSE;
+ return false;
}
-
+
m_bitmap = label;
// Create the gtk widget.
PostCreation(size);
- return TRUE;
+ return true;
}
// void SetValue(bool state)
// Set the value of the toggle button.
void wxToggleBitmapButton::SetValue(bool state)
{
- wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
+ wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
- if (state == GetValue())
- return;
+ if (state == GetValue())
+ return;
- m_blockEvent = TRUE;
+ m_blockEvent = true;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
- m_blockEvent = FALSE;
+ m_blockEvent = false;
}
// bool GetValue() const
// Get the value of the toggle button.
bool wxToggleBitmapButton::GetValue() const
{
- wxCHECK_MSG(m_widget != NULL, FALSE, wxT("invalid toggle button"));
+ wxCHECK_MSG(m_widget != NULL, false, wxT("invalid toggle button"));
- return GTK_TOGGLE_BUTTON(m_widget)->active;
+ return GTK_TOGGLE_BUTTON(m_widget)->active;
}
void wxToggleBitmapButton::SetLabel(const wxBitmap& label)
m_bitmap = label;
InvalidateBestSize();
-
+
OnSetBitmap();
}
}
}
-bool wxToggleBitmapButton::Enable(bool enable /*=TRUE*/)
+bool wxToggleBitmapButton::Enable(bool enable /*=true*/)
{
if (!wxControl::Enable(enable))
- return FALSE;
+ return false;
gtk_widget_set_sensitive(BUTTON_CHILD(m_widget), enable);
- return TRUE;
+ return true;
}
void wxToggleBitmapButton::DoApplyWidgetStyle(GtkRcStyle *style)
void wxToggleBitmapButton::OnInternalIdle()
{
wxCursor cursor = m_cursor;
-
+
if (g_globalCursor.Ok())
cursor = g_globalCursor;
wxSize wxToggleBitmapButton::DoGetBestSize() const
{
wxSize best;
-
+
if (m_bitmap.Ok())
{
int border = HasFlag(wxNO_BORDER) ? 4 : 10;
const wxValidator& validator,
const wxString &name)
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
-
- m_blockEvent = FALSE;
+ m_needParent = true;
+ m_acceptsFocus = true;
- if (!PreCreation(parent, pos, size) ||
- !CreateBase(parent, id, pos, size, style, validator, name )) {
- wxFAIL_MSG(wxT("wxToggleButton creation failed"));
- return FALSE;
- }
+ m_blockEvent = false;
- wxControl::SetLabel(label);
+ if (!PreCreation(parent, pos, size) ||
+ !CreateBase(parent, id, pos, size, style, validator, name )) {
+ wxFAIL_MSG(wxT("wxToggleButton creation failed"));
+ return false;
+ }
- // Create the gtk widget.
- m_widget = gtk_toggle_button_new_with_label( wxGTK_CONV( m_label ) );
+ wxControl::SetLabel(label);
- gtk_signal_connect(GTK_OBJECT(m_widget), "clicked",
- GTK_SIGNAL_FUNC(gtk_togglebutton_clicked_callback),
- (gpointer *)this);
+ // Create the gtk widget.
+ m_widget = gtk_toggle_button_new_with_label( wxGTK_CONV( m_label ) );
- m_parent->DoAddChild(this);
+ gtk_signal_connect(GTK_OBJECT(m_widget), "clicked",
+ GTK_SIGNAL_FUNC(gtk_togglebutton_clicked_callback),
+ (gpointer *)this);
- PostCreation(size);
+ m_parent->DoAddChild(this);
- return TRUE;
+ PostCreation(size);
+
+ return true;
}
// void SetValue(bool state)
// Set the value of the toggle button.
void wxToggleButton::SetValue(bool state)
{
- wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
+ wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
- if (state == GetValue())
- return;
+ if (state == GetValue())
+ return;
- m_blockEvent = TRUE;
+ m_blockEvent = true;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
- m_blockEvent = FALSE;
+ m_blockEvent = false;
}
// bool GetValue() const
// Get the value of the toggle button.
bool wxToggleButton::GetValue() const
{
- wxCHECK_MSG(m_widget != NULL, FALSE, wxT("invalid toggle button"));
+ wxCHECK_MSG(m_widget != NULL, false, wxT("invalid toggle button"));
- return GTK_TOGGLE_BUTTON(m_widget)->active;
+ return GTK_TOGGLE_BUTTON(m_widget)->active;
}
void wxToggleButton::SetLabel(const wxString& label)
gtk_label_set(GTK_LABEL(BUTTON_CHILD(m_widget)), wxGTK_CONV( GetLabel() ) );
}
-bool wxToggleButton::Enable(bool enable /*=TRUE*/)
+bool wxToggleButton::Enable(bool enable /*=true*/)
{
if (!wxControl::Enable(enable))
- return FALSE;
+ return false;
gtk_widget_set_sensitive(BUTTON_CHILD(m_widget), enable);
- return TRUE;
+ return true;
}
void wxToggleButton::DoApplyWidgetStyle(GtkRcStyle *style)
void wxToggleButton::OnInternalIdle()
{
wxCursor cursor = m_cursor;
-
+
if (g_globalCursor.Ok())
cursor = g_globalCursor;
wxSize wxToggleButton::DoGetBestSize() const
{
wxSize ret(wxControl::DoGetBestSize());
-
+
if (!HasFlag(wxBU_EXACTFIT))
{
if (ret.x < 80) ret.x = 80;
}
-
+
CacheBestSize(ret);
return ret;
}
// Implement Pool of Graphic contexts. Creating them takes too much time.
//-----------------------------------------------------------------------------
-#define GC_POOL_SIZE 200
-
enum wxPoolGCType
{
wxGC_ERROR = 0,
#include "wx/gtk/win_gtk.h"
//-----------------------------------------------------------------------------
-// idle system
+// global data
//-----------------------------------------------------------------------------
-extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
extern int g_openDialogs;
//-----------------------------------------------------------------------------
void wxDialog::Init()
{
m_returnCode = 0;
- m_sizeSet = FALSE;
- m_modalShowing = FALSE;
- m_themeEnabled = TRUE;
+ m_sizeSet = false;
+ m_modalShowing = false;
+ m_themeEnabled = true;
}
wxDialog::wxDialog( wxWindow *parent,
else
{
SetReturnCode(wxID_CANCEL);
- Show(FALSE);
+ Show(false);
}
}
else
{
SetReturnCode(wxID_OK);
- Show(FALSE);
+ Show(false);
}
}
}
}
wxBusyCursorSuspender cs; // temporarily suppress the busy cursor
-
- Show( TRUE );
+
+ Show( true );
SetFocus();
- m_modalShowing = TRUE;
+ m_modalShowing = true;
g_openDialogs++;
return;
}
- m_modalShowing = FALSE;
+ m_modalShowing = false;
gtk_main_quit();
- Show( FALSE );
+ Show( false );
}
//-----------------------------------------------------------------------------
extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
//-----------------------------------------------------------------------------
// "clicked" for OK-button
extern void wxapp_install_idle_handler();
extern bool g_isIdle;
-extern int g_openDialogs;
// ----------------------------------------------------------------------------
// event tables
{
if (!win->m_hasVMT) return;
- win->m_menuBarDetached = FALSE;
+ win->m_menuBarDetached = false;
win->GtkUpdateSize();
}
}
// Raise the client area area
gdk_window_raise( win->m_wxwindow->window );
- win->m_menuBarDetached = TRUE;
+ win->m_menuBarDetached = true;
win->GtkUpdateSize();
}
}
{
if (!win->m_hasVMT) return;
- win->m_toolBarDetached = FALSE;
+ win->m_toolBarDetached = false;
win->GtkUpdateSize();
}
}
// Raise the client area area
gdk_window_raise( win->m_wxwindow->window );
- win->m_toolBarDetached = TRUE;
+ win->m_toolBarDetached = true;
win->GtkUpdateSize();
}
}
child->m_y,
child->m_width,
child->m_height );
-
+
#if wxUSE_TOOLBAR_NATIVE
// We connect to these events for recalculating the client area
// space when the toolbar is floating
child->m_width,
child->m_height );
}
-
+
// Resize on OnInternalIdle
parent->GtkUpdateSize();
}
void wxFrame::Init()
{
- m_menuBarDetached = FALSE;
- m_toolBarDetached = FALSE;
+ m_menuBarDetached = false;
+ m_toolBarDetached = false;
m_menuBarHeight = 2;
}
bool rt = wxTopLevelWindow::Create(parent, id, title, pos, sizeOrig,
style, name);
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
-
+
return rt;
}
wxFrame::~wxFrame()
{
- m_isBeingDeleted = TRUE;
+ m_isBeingDeleted = true;
DeleteAllBars();
}
// avoid recursions
if (m_resizing) return;
- m_resizing = TRUE;
+ m_resizing = true;
// this shouldn't happen: wxFrame, wxMDIParentFrame and wxMDIChildFrame have m_wxwindow
wxASSERT_MSG( (m_wxwindow != NULL), wxT("invalid frame") );
}
#endif // wxUSE_STATUSBAR
- m_sizeSet = TRUE;
+ m_sizeSet = true;
// send size event to frame
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
}
#endif // wxUSE_STATUSBAR
- m_resizing = FALSE;
+ m_resizing = false;
}
void wxFrame::OnInternalIdle()
gtk_signal_connect( GTK_OBJECT(menuBar->m_widget), "child_detached",
GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this );
}
-
+
gtk_widget_show( m_frameMenuBar->m_widget );
UpdateMenuBarSize();
req.width = 2;
req.height = 2;
-
+
// this is called after Remove with a NULL m_frameMenuBar
if ( m_frameMenuBar )
(* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_frameMenuBar->m_widget) )->size_request )
{
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
- m_insertInClientArea = FALSE;
+ m_insertInClientArea = false;
m_frameToolBar = wxFrameBase::CreateToolBar( style, id, name );
- m_insertInClientArea = TRUE;
+ m_insertInClientArea = true;
GtkUpdateSize();
void wxFrame::SetStatusBar(wxStatusBar *statbar)
{
bool hadStatBar = m_frameStatusBar != NULL;
-
+
wxFrameBase::SetStatusBar(statbar);
-
- if (hadStatBar && !m_frameStatusBar)
+
+ if (hadStatBar && !m_frameStatusBar)
GtkUpdateSize();
}
#define WXUNUSED_IN_GTK1(arg)
#endif
+// RR: After a correction to the orientation of the sash
+// this doesn't seem to be required anymore and it
+// seems to confuse some themes so USE_ERASE_RECT=0
+#define USE_ERASE_RECT 0
+
// ----------------------------------------------------------------------------
// wxRendererGTK: our wxRendererNative implementation
// ----------------------------------------------------------------------------
state = GTK_STATE_PRELIGHT;
else
state = GTK_STATE_NORMAL;
-
+
// VZ: I don't know how to get the size of the expander so as to centre it
// in the given rectangle, +2/3 below is just what looks good here...
gtk_paint_expander
gint handle_size;
gtk_widget_style_get (s_paned, "handle_size", &handle_size, NULL);
-
+
return handle_size;
#else
return SASH_SIZE + SASH_MARGIN;
// window not realized yet
return;
}
-
+
wxCoord full_size = GetGtkSplitterFullSize();
// are we drawing vertical or horizontal splitter?
const bool isVert = orient == wxVERTICAL;
GdkRectangle rect;
+#if USE_ERASE_RECT
GdkRectangle erase_rect;
+#endif
+
if ( isVert )
{
int h = win->GetClientSize().GetHeight();
rect.width = full_size;
rect.height = h;
+#if USE_ERASE_RECT
erase_rect.x = position;
erase_rect.y = 0;
erase_rect.width = full_size;
erase_rect.height = h;
+#endif
}
else // horz
{
rect.height = full_size;
rect.width = w;
+#if USE_ERASE_RECT
erase_rect.y = position;
erase_rect.x = 0;
erase_rect.height = full_size;
erase_rect.width = w;
+#endif
}
-#if 0
- // RR: After a correction to the orientation of the sash
- // this doesn't seem to be required anymore and it
- // seems to confuse some themes
-
+#if USE_ERASE_RECT
// we must erase everything first, otherwise the garbage
// from the old sash is left when dragging it
gtk_paint_flat_box
//-----------------------------------------------------------------------------
extern bool g_blockEventsOnDrag;
-extern bool g_blockEventsOnScroll;
static wxEventType g_currentUpDownEvent = wxEVT_NULL;
static const float sensitivity = 0.02;
// throw a LINEUP / LINEDOWN event if necessary
if (g_currentUpDownEvent != wxEVT_NULL)
{
- wxScrollEvent event( g_currentUpDownEvent, win->GetId(), value, orient );
+ wxScrollEvent event( g_currentUpDownEvent, win->GetId(), value, orient );
event.SetEventObject( win );
win->GetEventHandler()->ProcessEvent( event );
- }
-
- // throw other event (wxEVT_SCROLL_THUMBTRACK)
- wxScrollEvent event( command, win->GetId(), value, orient );
+ }
+
+ // throw other event (wxEVT_SCROLL_THUMBTRACK)
+ wxScrollEvent event( command, win->GetId(), value, orient );
event.SetEventObject( win );
win->GetEventHandler()->ProcessEvent( event );
{
int scroll_height, mouse_pos;
- // get the mouse position when the click is done
- if (win->HasFlag(wxSB_VERTICAL))
- {
+ // get the mouse position when the click is done
+ if (win->HasFlag(wxSB_VERTICAL))
+ {
scroll_height = GTK_WIDGET(widget)->allocation.height - 16;
mouse_pos = (int)gdk_event->y;
}
scroll_height = GTK_WIDGET(widget)->allocation.width - 16;
mouse_pos = (int)gdk_event->x;
}
-
+
// compare mouse position to scrollbar height
if (mouse_pos > scroll_height)
g_currentUpDownEvent = wxEVT_SCROLL_LINEDOWN;
win->GetEventHandler()->ProcessEvent( event );
}
- win->m_isScrolling = FALSE;
+ win->m_isScrolling = false;
// reset the LINEUP/LINEDOWN flag when the mouse button is released
g_currentUpDownEvent = wxEVT_NULL;
const wxPoint& pos, const wxSize& size,
long style, const wxValidator& validator, const wxString& name )
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
+ m_needParent = true;
+ m_acceptsFocus = true;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG( wxT("wxScrollBar creation failed") );
- return FALSE;
+ return false;
}
m_oldPos = 0.0;
PostCreation(size);
- return TRUE;
+ return true;
}
int wxScrollBar::GetThumbPosition() const
#include <glib.h>
#include "wx/gtk/private.h"
-extern GdkFont *GtkGetDefaultGuiFont();
-
// ----------------------------------------------------------------------------
// globals
// ----------------------------------------------------------------------------
void wxToolBar::Init()
{
m_toolbar = (GtkToolbar *)NULL;
- m_blockEvent = FALSE;
+ m_blockEvent = false;
m_defaultWidth = 32;
m_defaultHeight = 32;
}
long style,
const wxString& name )
{
- m_needParent = TRUE;
+ m_needParent = true;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInToolBar;
if ( !PreCreation( parent, pos, size ) ||
{
wxFAIL_MSG( wxT("wxToolBar creation failed") );
- return FALSE;
+ return false;
}
#ifdef __WXGTK20__
PostCreation(size);
- return TRUE;
+ return true;
}
void wxToolBar::GtkSetStyle()
{
wxBitmap bitmap = tool->GetNormalBitmap();
- wxCHECK_MSG( bitmap.Ok(), FALSE,
+ wxCHECK_MSG( bitmap.Ok(), false,
wxT("invalid bitmap for wxToolBar icon") );
- wxCHECK_MSG( bitmap.GetBitmap() == NULL, FALSE,
+ wxCHECK_MSG( bitmap.GetBitmap() == NULL, false,
wxT("wxToolBar doesn't support GdkBitmap") );
- wxCHECK_MSG( bitmap.GetPixmap() != NULL, FALSE,
+ wxCHECK_MSG( bitmap.GetPixmap() != NULL, false,
wxT("wxToolBar::Add needs a wxBitmap") );
GtkWidget *tool_pixmap = (GtkWidget *)NULL;
GdkBitmap *mask = (GdkBitmap *)NULL;
if ( bitmap.GetMask() )
mask = bitmap.GetMask()->GetBitmap();
-
+
tool_pixmap = gtk_pixmap_new( pixmap, mask );
gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE );
}
// this is the first button in the radio button group,
// it will be toggled automatically by GTK so bring the
// internal flag in sync
- tool->Toggle(TRUE);
+ tool->Toggle(true);
}
}
{
wxFAIL_MSG( _T("gtk_toolbar_insert_element() failed") );
- return FALSE;
+ return false;
}
gtk_signal_connect( GTK_OBJECT(tool->m_item),
gtk_toolbar_insert_space( m_toolbar, posGtk );
// skip the rest
- return TRUE;
+ return true;
case wxTOOL_STYLE_CONTROL:
gtk_toolbar_insert_widget(
m_height = req.height + 2*m_yMargin;
InvalidateBestSize();
- return TRUE;
+ return true;
}
bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *toolBase)
}
InvalidateBestSize();
- return TRUE;
+ return true;
}
// ----------------------------------------------------------------------------
{
tool->SetPixmap(tool->GetBitmap());
- m_blockEvent = TRUE;
+ m_blockEvent = true;
gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(item), toggle );
- m_blockEvent = FALSE;
+ m_blockEvent = false;
}
}
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
extern wxCursor g_globalCursor;
extern wxWindowGTK *g_delayedFocus;
extern bool g_isIdle;
extern bool g_blockEventsOnDrag;
extern wxCursor g_globalCursor;
-extern wxWindowGTK *g_delayedFocus;
extern "C" {
static void gtk_togglebutton_clicked_callback(GtkWidget *WXUNUSED(widget), wxToggleButton *cb)
{
- if (g_isIdle)
- wxapp_install_idle_handler();
-
- if (!cb->m_hasVMT || g_blockEventsOnDrag)
- return;
-
- if (cb->m_blockEvent) return;
-
- // Generate a wx event.
- wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, cb->GetId());
- event.SetInt(cb->GetValue());
- event.SetEventObject(cb);
- cb->GetEventHandler()->ProcessEvent(event);
+ if (g_isIdle)
+ wxapp_install_idle_handler();
+
+ if (!cb->m_hasVMT || g_blockEventsOnDrag)
+ return;
+
+ if (cb->m_blockEvent) return;
+
+ // Generate a wx event.
+ wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, cb->GetId());
+ event.SetInt(cb->GetValue());
+ event.SetEventObject(cb);
+ cb->GetEventHandler()->ProcessEvent(event);
}
}
const wxValidator& validator,
const wxString &name)
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
-
- m_blockEvent = FALSE;
+ m_needParent = true;
+ m_acceptsFocus = true;
+
+ m_blockEvent = false;
if (!PreCreation(parent, pos, size) ||
!CreateBase(parent, id, pos, size, style, validator, name ))
{
wxFAIL_MSG(wxT("wxToggleBitmapButton creation failed"));
- return FALSE;
+ return false;
}
-
+
m_bitmap = label;
// Create the gtk widget.
PostCreation(size);
- return TRUE;
+ return true;
}
// void SetValue(bool state)
// Set the value of the toggle button.
void wxToggleBitmapButton::SetValue(bool state)
{
- wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
+ wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
- if (state == GetValue())
- return;
+ if (state == GetValue())
+ return;
- m_blockEvent = TRUE;
+ m_blockEvent = true;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
- m_blockEvent = FALSE;
+ m_blockEvent = false;
}
// bool GetValue() const
// Get the value of the toggle button.
bool wxToggleBitmapButton::GetValue() const
{
- wxCHECK_MSG(m_widget != NULL, FALSE, wxT("invalid toggle button"));
+ wxCHECK_MSG(m_widget != NULL, false, wxT("invalid toggle button"));
- return GTK_TOGGLE_BUTTON(m_widget)->active;
+ return GTK_TOGGLE_BUTTON(m_widget)->active;
}
void wxToggleBitmapButton::SetLabel(const wxBitmap& label)
m_bitmap = label;
InvalidateBestSize();
-
+
OnSetBitmap();
}
}
}
-bool wxToggleBitmapButton::Enable(bool enable /*=TRUE*/)
+bool wxToggleBitmapButton::Enable(bool enable /*=true*/)
{
if (!wxControl::Enable(enable))
- return FALSE;
+ return false;
gtk_widget_set_sensitive(BUTTON_CHILD(m_widget), enable);
- return TRUE;
+ return true;
}
void wxToggleBitmapButton::DoApplyWidgetStyle(GtkRcStyle *style)
void wxToggleBitmapButton::OnInternalIdle()
{
wxCursor cursor = m_cursor;
-
+
if (g_globalCursor.Ok())
cursor = g_globalCursor;
wxSize wxToggleBitmapButton::DoGetBestSize() const
{
wxSize best;
-
+
if (m_bitmap.Ok())
{
int border = HasFlag(wxNO_BORDER) ? 4 : 10;
const wxValidator& validator,
const wxString &name)
{
- m_needParent = TRUE;
- m_acceptsFocus = TRUE;
-
- m_blockEvent = FALSE;
+ m_needParent = true;
+ m_acceptsFocus = true;
- if (!PreCreation(parent, pos, size) ||
- !CreateBase(parent, id, pos, size, style, validator, name )) {
- wxFAIL_MSG(wxT("wxToggleButton creation failed"));
- return FALSE;
- }
+ m_blockEvent = false;
- wxControl::SetLabel(label);
+ if (!PreCreation(parent, pos, size) ||
+ !CreateBase(parent, id, pos, size, style, validator, name )) {
+ wxFAIL_MSG(wxT("wxToggleButton creation failed"));
+ return false;
+ }
- // Create the gtk widget.
- m_widget = gtk_toggle_button_new_with_label( wxGTK_CONV( m_label ) );
+ wxControl::SetLabel(label);
- gtk_signal_connect(GTK_OBJECT(m_widget), "clicked",
- GTK_SIGNAL_FUNC(gtk_togglebutton_clicked_callback),
- (gpointer *)this);
+ // Create the gtk widget.
+ m_widget = gtk_toggle_button_new_with_label( wxGTK_CONV( m_label ) );
- m_parent->DoAddChild(this);
+ gtk_signal_connect(GTK_OBJECT(m_widget), "clicked",
+ GTK_SIGNAL_FUNC(gtk_togglebutton_clicked_callback),
+ (gpointer *)this);
- PostCreation(size);
+ m_parent->DoAddChild(this);
- return TRUE;
+ PostCreation(size);
+
+ return true;
}
// void SetValue(bool state)
// Set the value of the toggle button.
void wxToggleButton::SetValue(bool state)
{
- wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
+ wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
- if (state == GetValue())
- return;
+ if (state == GetValue())
+ return;
- m_blockEvent = TRUE;
+ m_blockEvent = true;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_widget), state);
- m_blockEvent = FALSE;
+ m_blockEvent = false;
}
// bool GetValue() const
// Get the value of the toggle button.
bool wxToggleButton::GetValue() const
{
- wxCHECK_MSG(m_widget != NULL, FALSE, wxT("invalid toggle button"));
+ wxCHECK_MSG(m_widget != NULL, false, wxT("invalid toggle button"));
- return GTK_TOGGLE_BUTTON(m_widget)->active;
+ return GTK_TOGGLE_BUTTON(m_widget)->active;
}
void wxToggleButton::SetLabel(const wxString& label)
gtk_label_set(GTK_LABEL(BUTTON_CHILD(m_widget)), wxGTK_CONV( GetLabel() ) );
}
-bool wxToggleButton::Enable(bool enable /*=TRUE*/)
+bool wxToggleButton::Enable(bool enable /*=true*/)
{
if (!wxControl::Enable(enable))
- return FALSE;
+ return false;
gtk_widget_set_sensitive(BUTTON_CHILD(m_widget), enable);
- return TRUE;
+ return true;
}
void wxToggleButton::DoApplyWidgetStyle(GtkRcStyle *style)
void wxToggleButton::OnInternalIdle()
{
wxCursor cursor = m_cursor;
-
+
if (g_globalCursor.Ok())
cursor = g_globalCursor;
wxSize wxToggleButton::DoGetBestSize() const
{
wxSize ret(wxControl::DoGetBestSize());
-
+
if (!HasFlag(wxBU_EXACTFIT))
{
if (ret.x < 80) ret.x = 80;
}
-
+
CacheBestSize(ret);
return ret;
}