: wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER | wxTAB_TRAVERSAL )
{
+ SetBackgroundColour( *wxWHITE );
+
(void) new wxButton( this, -1, "wxButton", wxPoint(10,10) );
(void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,50) );
void wxListCtrl::SetWindowStyleFlag( long flag )
{
- m_mainWin->DeleteEverything();
+ if (m_mainWin)
+ {
+ m_mainWin->DeleteEverything();
- int width = 0;
- int height = 0;
- GetClientSize( &width, &height );
+ int width = 0;
+ int height = 0;
+ GetClientSize( &width, &height );
- m_mainWin->SetMode( flag );
+ m_mainWin->SetMode( flag );
- if (flag & wxLC_REPORT)
- {
- if (!HasFlag(wxLC_REPORT))
+ if (flag & wxLC_REPORT)
{
-// m_mainWin->SetSize( 0, 24, width, height-24 );
- if (!m_headerWin)
+ if (!HasFlag(wxLC_REPORT))
{
- m_headerWin = new wxListHeaderWindow( this, -1, m_mainWin, wxPoint(0,0), wxSize(width,23), wxTAB_TRAVERSAL );
- }
- else
- {
-// m_headerWin->SetSize( 0, 0, width, 23 );
- m_headerWin->Show( TRUE );
+ if (!m_headerWin)
+ {
+ m_headerWin = new wxListHeaderWindow( this, -1, m_mainWin,
+ wxPoint(0,0), wxSize(width,23), wxTAB_TRAVERSAL );
+ }
+ else
+ {
+ m_headerWin->Show( TRUE );
+ }
}
}
- }
- else
- {
- if (HasFlag(wxLC_REPORT))
+ else
{
-// m_mainWin->SetSize( 0, 0, width, height );
- m_headerWin->Show( FALSE );
- }
+ if (HasFlag(wxLC_REPORT))
+ {
+ m_headerWin->Show( FALSE );
+ }
+ }
}
-
+
wxWindow::SetWindowStyleFlag( flag );
}
bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxDialog *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
-/*
- printf( "OnDelete from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
+ if (g_isIdle)
+ wxapp_install_idle_handler();
win->Close();
static void gtk_dialog_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxDialog *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return;
-/*
- printf( "OnDialogResize from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
-
- if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
- {
- win->InternalSetSize( alloc->width, alloc->height );
- }
+ if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
+ {
+ win->m_width = alloc->width;
+ win->m_height = alloc->height;
+ win->UpdateSize();
+ }
}
//-----------------------------------------------------------------------------
static gint gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxDialog *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
- win->InternalSetPosition(event->x, event->y);
+ win->m_x = event->x;
+ win->m_y = event->y;
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
static void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return;
-/*
- printf( "OnFrameResize from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
-
- if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
- {
- win->InternalSetSize( alloc->width, alloc->height );
- }
+ if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
+ {
+ win->m_width = alloc->width;
+ win->m_height = alloc->height;
+ win->UpdateSize();
+ }
}
//-----------------------------------------------------------------------------
static gint gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
-/*
- printf( "OnDelete from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
+ if (g_isIdle)
+ wxapp_install_idle_handler();
win->Close();
static void gtk_menu_attached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *WXUNUSED(child), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
if (!win->m_hasVMT) return;
win->m_menuBarDetached = FALSE;
static void gtk_menu_detached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *WXUNUSED(child), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
if (!win->m_hasVMT) return;
win->m_menuBarDetached = TRUE;
static void gtk_toolbar_attached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *WXUNUSED(child), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
if (!win->m_hasVMT) return;
win->m_toolBarDetached = FALSE;
+
win->UpdateSize();
}
static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
- win->InternalSetPosition(event->x, event->y);
+ win->m_x = event->x;
+ win->m_y = event->y;
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
static gint
gtk_frame_realized_callback( GtkWidget *widget, wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
/* all this is for Motif Window Manager "hints" and is supposed to be
recognized by other WM as well. not tested. */
int ww = m_width - 2*m_miniEdge;
int hh = wxMENU_HEIGHT;
if (m_menuBarDetached) hh = wxPLACE_HOLDER;
- m_frameMenuBar->InternalSetPosition(xx, yy);
- m_frameMenuBar->InternalSetSize(ww, hh);
+ m_frameMenuBar->m_x = xx;
+ m_frameMenuBar->m_y = yy;
+ m_frameMenuBar->m_width = ww;
+ m_frameMenuBar->m_height = hh;
gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
m_frameMenuBar->m_widget,
xx, yy, ww, hh );
}
int ww = m_width - 2*m_miniEdge;
int hh = m_frameToolBar->m_height;
- // VZ: according to earlier comments in this file, the tbar height
- // shouldn't be changed, so I comment out the next line
- // (09.05.99)
- //if (m_toolBarDetached) hh = wxPLACE_HOLDER;
-
- m_frameToolBar->InternalSetPosition(xx, yy);
- m_frameToolBar->InternalSetSize(ww, hh);
-
+ if (m_toolBarDetached) hh = wxPLACE_HOLDER;
+ m_frameToolBar->m_x = xx;
+ m_frameToolBar->m_y = yy;
+ /* m_frameToolBar->m_height = hh; don't change the toolbar's height */
+ m_frameToolBar->m_width = ww;
gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
m_frameToolBar->m_widget,
xx, yy, ww, hh );
int yy = m_height - wxSTATUS_HEIGHT - m_miniEdge - client_area_y_offset;
int ww = m_width - 2*m_miniEdge;
int hh = wxSTATUS_HEIGHT;
- m_frameStatusBar->InternalSetPosition(xx, yy);
- m_frameStatusBar->InternalSetSize(ww, hh);
+ m_frameStatusBar->m_x = xx;
+ m_frameStatusBar->m_y = yy;
+ m_frameStatusBar->m_width = ww;
+ m_frameStatusBar->m_height = hh;
gtk_myfixed_set_size( GTK_MYFIXED(m_wxwindow),
m_frameStatusBar->m_widget,
xx, yy, ww, hh );
if (!menu_bar) return;
if (!menu_bar->m_widget) return;
- menu_bar->InternalSetPosition(0, 0);
- menu_bar->InternalSetSize(m_width, wxMENU_HEIGHT);
+ menu_bar->m_x = 0;
+ menu_bar->m_y = 0;
+ menu_bar->m_width = m_width;
+ menu_bar->m_height = wxMENU_HEIGHT;
gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
menu_bar->m_widget,
0, 0, m_width, wxMENU_HEIGHT );
gdk_window_get_origin( widget->window, &org_x, &org_y );
x += org_x - win->m_diffX;
y += org_y - win->m_diffY;
- win->InternalSetPosition(x, y);
+ win->m_x = x;
+ win->m_y = y;
gtk_widget_set_uposition( win->m_widget, x, y );
return TRUE;
{
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
- if (!colour.Ok()) return FALSE;
- if (m_backgroundColour == colour) return FALSE;
+ if (!wxWindowBase::SetBackgroundColour(colour)) return FALSE;
GtkWidget *connect_widget = GetConnectWidget();
if (!connect_widget->window) return TRUE;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
- if ( sysbg == m_backgroundColour )
+ if (sysbg == m_backgroundColour)
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
{
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
- if (!colour.Ok()) return FALSE;
- if (m_backgroundColour == colour) return FALSE;
+ if (!wxWindowBase::SetForegroundColour(colour)) return FALSE;
GtkWidget *connect_widget = GetConnectWidget();
if (!connect_widget->window) return TRUE;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
- if ( sysbg == m_foregroundColour )
+ if (sysbg == m_foregroundColour)
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
{
wxCHECK_MSG( m_widget != NULL, FALSE, _T( "invalid window") );
- if (!font.Ok()) return FALSE;
- if (m_font == font) return FALSE;
-
+ if (!wxWindowBase::SetFont(font)) return FALSE;
+
GtkWidget *connect_widget = GetConnectWidget();
if (!connect_widget->window) return TRUE;
bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxDialog *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
-/*
- printf( "OnDelete from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
+ if (g_isIdle)
+ wxapp_install_idle_handler();
win->Close();
static void gtk_dialog_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxDialog *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return;
-/*
- printf( "OnDialogResize from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
-
- if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
- {
- win->InternalSetSize( alloc->width, alloc->height );
- }
+ if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
+ {
+ win->m_width = alloc->width;
+ win->m_height = alloc->height;
+ win->UpdateSize();
+ }
}
//-----------------------------------------------------------------------------
static gint gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxDialog *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
- win->InternalSetPosition(event->x, event->y);
+ win->m_x = event->x;
+ win->m_y = event->y;
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
static void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return;
-/*
- printf( "OnFrameResize from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
-
- if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
- {
- win->InternalSetSize( alloc->width, alloc->height );
- }
+ if ((win->m_width != alloc->width) || (win->m_height != alloc->height))
+ {
+ win->m_width = alloc->width;
+ win->m_height = alloc->height;
+ win->UpdateSize();
+ }
}
//-----------------------------------------------------------------------------
static gint gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
-/*
- printf( "OnDelete from " );
- if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
- printf( win->GetClassInfo()->GetClassName() );
- printf( ".\n" );
-*/
+ if (g_isIdle)
+ wxapp_install_idle_handler();
win->Close();
static void gtk_menu_attached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *WXUNUSED(child), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
if (!win->m_hasVMT) return;
win->m_menuBarDetached = FALSE;
static void gtk_menu_detached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *WXUNUSED(child), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
if (!win->m_hasVMT) return;
win->m_menuBarDetached = TRUE;
static void gtk_toolbar_attached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *WXUNUSED(child), wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
-
if (!win->m_hasVMT) return;
win->m_toolBarDetached = FALSE;
+
win->UpdateSize();
}
static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
- win->InternalSetPosition(event->x, event->y);
+ win->m_x = event->x;
+ win->m_y = event->y;
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
static gint
gtk_frame_realized_callback( GtkWidget *widget, wxFrame *win )
{
- if (g_isIdle) wxapp_install_idle_handler();
+ if (g_isIdle)
+ wxapp_install_idle_handler();
/* all this is for Motif Window Manager "hints" and is supposed to be
recognized by other WM as well. not tested. */
int ww = m_width - 2*m_miniEdge;
int hh = wxMENU_HEIGHT;
if (m_menuBarDetached) hh = wxPLACE_HOLDER;
- m_frameMenuBar->InternalSetPosition(xx, yy);
- m_frameMenuBar->InternalSetSize(ww, hh);
+ m_frameMenuBar->m_x = xx;
+ m_frameMenuBar->m_y = yy;
+ m_frameMenuBar->m_width = ww;
+ m_frameMenuBar->m_height = hh;
gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
m_frameMenuBar->m_widget,
xx, yy, ww, hh );
}
int ww = m_width - 2*m_miniEdge;
int hh = m_frameToolBar->m_height;
- // VZ: according to earlier comments in this file, the tbar height
- // shouldn't be changed, so I comment out the next line
- // (09.05.99)
- //if (m_toolBarDetached) hh = wxPLACE_HOLDER;
-
- m_frameToolBar->InternalSetPosition(xx, yy);
- m_frameToolBar->InternalSetSize(ww, hh);
-
+ if (m_toolBarDetached) hh = wxPLACE_HOLDER;
+ m_frameToolBar->m_x = xx;
+ m_frameToolBar->m_y = yy;
+ /* m_frameToolBar->m_height = hh; don't change the toolbar's height */
+ m_frameToolBar->m_width = ww;
gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
m_frameToolBar->m_widget,
xx, yy, ww, hh );
int yy = m_height - wxSTATUS_HEIGHT - m_miniEdge - client_area_y_offset;
int ww = m_width - 2*m_miniEdge;
int hh = wxSTATUS_HEIGHT;
- m_frameStatusBar->InternalSetPosition(xx, yy);
- m_frameStatusBar->InternalSetSize(ww, hh);
+ m_frameStatusBar->m_x = xx;
+ m_frameStatusBar->m_y = yy;
+ m_frameStatusBar->m_width = ww;
+ m_frameStatusBar->m_height = hh;
gtk_myfixed_set_size( GTK_MYFIXED(m_wxwindow),
m_frameStatusBar->m_widget,
xx, yy, ww, hh );
if (!menu_bar) return;
if (!menu_bar->m_widget) return;
- menu_bar->InternalSetPosition(0, 0);
- menu_bar->InternalSetSize(m_width, wxMENU_HEIGHT);
+ menu_bar->m_x = 0;
+ menu_bar->m_y = 0;
+ menu_bar->m_width = m_width;
+ menu_bar->m_height = wxMENU_HEIGHT;
gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget),
menu_bar->m_widget,
0, 0, m_width, wxMENU_HEIGHT );
gdk_window_get_origin( widget->window, &org_x, &org_y );
x += org_x - win->m_diffX;
y += org_y - win->m_diffY;
- win->InternalSetPosition(x, y);
+ win->m_x = x;
+ win->m_y = y;
gtk_widget_set_uposition( win->m_widget, x, y );
return TRUE;
{
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
- if (!colour.Ok()) return FALSE;
- if (m_backgroundColour == colour) return FALSE;
+ if (!wxWindowBase::SetBackgroundColour(colour)) return FALSE;
GtkWidget *connect_widget = GetConnectWidget();
if (!connect_widget->window) return TRUE;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
- if ( sysbg == m_backgroundColour )
+ if (sysbg == m_backgroundColour)
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
{
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
- if (!colour.Ok()) return FALSE;
- if (m_backgroundColour == colour) return FALSE;
+ if (!wxWindowBase::SetForegroundColour(colour)) return FALSE;
GtkWidget *connect_widget = GetConnectWidget();
if (!connect_widget->window) return TRUE;
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
- if ( sysbg == m_foregroundColour )
+ if (sysbg == m_foregroundColour)
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
{
wxCHECK_MSG( m_widget != NULL, FALSE, _T( "invalid window") );
- if (!font.Ok()) return FALSE;
- if (m_font == font) return FALSE;
-
+ if (!wxWindowBase::SetFont(font)) return FALSE;
+
GtkWidget *connect_widget = GetConnectWidget();
if (!connect_widget->window) return TRUE;