class wxToolBar: public wxControl
{
- DECLARE_EVENT_TABLE()
- DECLARE_DYNAMIC_CLASS(wxToolBar)
-
- public:
-
+public:
wxToolBar(void);
wxToolBar( wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
int m_xMargin;
int m_yMargin;
bool m_hasToolAlready;
+
+ void OnInternalIdle();
+
+private:
+ DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(wxToolBar)
};
#endif
class wxToolBar: public wxControl
{
- DECLARE_EVENT_TABLE()
- DECLARE_DYNAMIC_CLASS(wxToolBar)
-
- public:
-
+public:
wxToolBar(void);
wxToolBar( wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
int m_xMargin;
int m_yMargin;
bool m_hasToolAlready;
+
+ void OnInternalIdle();
+
+private:
+ DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(wxToolBar)
};
#endif
}
SetPath( filename );
+
+ wxCommandEvent event;
+ wxDialog::OnOK(event);
}
void wxFileDialog::OnListOk( wxCommandEvent &event )
{
HandleAction( m_text->GetValue() );
- event.Skip();
}
void wxFileDialog::OnList( wxCommandEvent &WXUNUSED(event) )
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
- wxString str = wxString(label->label,*wxConv_current);
+ wxString str = wxString(label->label,*wxConvCurrent);
return (str[1] == _T('X'));
}
wxCursor cursor = m_cursor;
if (g_globalCursor.Ok()) cursor = g_globalCursor;
- if (m_widget->window && cursor.Ok() && m_currentGdkCursor != cursor)
+ if (GTK_WIDGET(m_list)->window && cursor.Ok() && m_currentGdkCursor != cursor)
{
+ wxCursor oldGdkCursor = m_currentGdkCursor;
m_currentGdkCursor = cursor;
gdk_window_set_cursor( GTK_WIDGET(m_list)->window, m_currentGdkCursor.GetCursor() );
GtkBin *bin = GTK_BIN( child->data );
GtkWidget *label = GTK_WIDGET( bin->child );
- gdk_window_set_cursor( label->window, m_currentGdkCursor.GetCursor() );
+ if (!label->window)
+ {
+ /* windows not yet realized. come back later. */
+ m_currentGdkCursor = oldGdkCursor;
+ break;
+ }
+ else
+ {
+ gdk_window_set_cursor( label->window, m_currentGdkCursor.GetCursor() );
+ }
child = child->next;
}
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
+extern bool g_blockEventsOnDrag;
+extern wxCursor g_globalCursor;
//-----------------------------------------------------------------------------
// "clicked" (internal from gtk_toolbar)
}
}
+void wxToolBar::OnInternalIdle()
+{
+ wxCursor cursor = m_cursor;
+ if (g_globalCursor.Ok()) cursor = g_globalCursor;
+
+ if (cursor.Ok() && m_currentGdkCursor != cursor)
+ {
+ wxCursor oldGdkCursor = m_currentGdkCursor;
+ m_currentGdkCursor = cursor;
+
+ wxNode *node = m_tools.First();
+ while (node)
+ {
+ wxToolBarTool *tool = (wxToolBarTool*)node->Data();
+ if (!tool->m_item->window)
+ {
+ /* windows not yet realized. come back later. */
+ m_currentGdkCursor = oldGdkCursor;
+ break;
+ }
+ else
+ {
+ gdk_window_set_cursor( tool->m_item->window, m_currentGdkCursor.GetCursor() );
+ }
+ node = node->Next();
+ }
+ }
+
+ UpdateWindowUI();
+}
+
#endif
GtkBin *bin = GTK_BIN( child->data );
GtkLabel *label = GTK_LABEL( bin->child );
- wxString str = wxString(label->label,*wxConv_current);
+ wxString str = wxString(label->label,*wxConvCurrent);
return (str[1] == _T('X'));
}
wxCursor cursor = m_cursor;
if (g_globalCursor.Ok()) cursor = g_globalCursor;
- if (m_widget->window && cursor.Ok() && m_currentGdkCursor != cursor)
+ if (GTK_WIDGET(m_list)->window && cursor.Ok() && m_currentGdkCursor != cursor)
{
+ wxCursor oldGdkCursor = m_currentGdkCursor;
m_currentGdkCursor = cursor;
gdk_window_set_cursor( GTK_WIDGET(m_list)->window, m_currentGdkCursor.GetCursor() );
GtkBin *bin = GTK_BIN( child->data );
GtkWidget *label = GTK_WIDGET( bin->child );
- gdk_window_set_cursor( label->window, m_currentGdkCursor.GetCursor() );
+ if (!label->window)
+ {
+ /* windows not yet realized. come back later. */
+ m_currentGdkCursor = oldGdkCursor;
+ break;
+ }
+ else
+ {
+ gdk_window_set_cursor( label->window, m_currentGdkCursor.GetCursor() );
+ }
child = child->next;
}
// data
//-----------------------------------------------------------------------------
-extern bool g_blockEventsOnDrag;
+extern bool g_blockEventsOnDrag;
+extern wxCursor g_globalCursor;
//-----------------------------------------------------------------------------
// "clicked" (internal from gtk_toolbar)
}
}
+void wxToolBar::OnInternalIdle()
+{
+ wxCursor cursor = m_cursor;
+ if (g_globalCursor.Ok()) cursor = g_globalCursor;
+
+ if (cursor.Ok() && m_currentGdkCursor != cursor)
+ {
+ wxCursor oldGdkCursor = m_currentGdkCursor;
+ m_currentGdkCursor = cursor;
+
+ wxNode *node = m_tools.First();
+ while (node)
+ {
+ wxToolBarTool *tool = (wxToolBarTool*)node->Data();
+ if (!tool->m_item->window)
+ {
+ /* windows not yet realized. come back later. */
+ m_currentGdkCursor = oldGdkCursor;
+ break;
+ }
+ else
+ {
+ gdk_window_set_cursor( tool->m_item->window, m_currentGdkCursor.GetCursor() );
+ }
+ node = node->Next();
+ }
+ }
+
+ UpdateWindowUI();
+}
+
#endif
if (m_Engine.Scan(file -> GetStream())) {
m_Name = m_Data->m_Contents[i].m_Name;
m_ContentsItem = m_Data->m_Contents + i;
- found = true;
+ found = TRUE;
}
}
delete file;