void SetBitmapLabel( const wxBitmap& bitmap );
void SetBitmapSelected( const wxBitmap& bitmap );
- virtual bool Enable(const bool);
+ virtual bool Enable(bool enable);
// implementation
void SetBitmapLabel( const wxBitmap& bitmap );
void SetBitmapSelected( const wxBitmap& bitmap );
- virtual bool Enable(const bool);
+ virtual bool Enable(bool enable);
// implementation
// Clear all properties
virtual void Clear(void);
- virtual bool Save(ostream& str);
- virtual bool Load(ostream& str);
-
virtual void UpdateAllViews(wxPropertyView *thisView = NULL);
inline virtual wxList& GetProperties(void) const { return (wxList&) m_properties; }
virtual wxPropertyValue *NewCopy(void) const;
virtual void Copy(wxPropertyValue& copyFrom);
- virtual void WritePropertyClause(ostream& stream); // Write this expression as a top-level clause
- virtual void WritePropertyType(ostream& stream); // Write as any other subexpression
+ virtual void WritePropertyClause(wxString &stream); // Write this expression as a top-level clause
+ virtual void WritePropertyType(wxString &stream); // Write as any other subexpression
// Append an expression to a list
virtual void Append(wxPropertyValue *expr);
bool IsFunctor(const wxString& s) const; // Only for a clause
void WriteClause(FILE* stream); // Write this expression as a top-level clause
void WriteExpr(FILE* stream); // Write as any other subexpression
- void WriteLispExpr(FILE* stream);
// Append an expression to a list
void Append(wxExpr *expr);
bool ReadFromString(const wxString& buffer);
bool Write(const wxString& fileName);
bool Write(FILE* stream);
- void WriteLisp(FILE* stream);
// Compatibility
inline bool ReadProlog(wxChar *filename) { return Read(wxString(filename)); }
#include "wx/button.h"
#include "wx/bmpbuttn.h"
#include "wx/radiobox.h"
-#include "wx/radiobut.h"
#include "wx/listbox.h"
#include "wx/choice.h"
#include "wx/checkbox.h"
#include "wx/icon.h"
#include "wx/statbox.h"
#include "wx/statbmp.h"
-#if wxUSE_GAUGE
#include "wx/gauge.h"
-#endif
#include "wx/textctrl.h"
#include "wx/msgdlg.h"
#include "wx/intl.h"
#endif
-#if wxUSE_RADIOBUTTON
+#if wxUSE_RADIOBTN
#include "wx/radiobut.h"
#endif
((wxGauge *)control)->SetValue((int)childResource->GetValue1());
}
#endif
-#if wxUSE_RADIOBUTTON
+#if wxUSE_RADIOBTN
else if (itemType == wxString(_T("wxRadioButton")))
{
control = new wxRadioButton(parent, id, childResource->GetTitle(), // (int)childResource->GetValue1(),
controlItem->SetFont(wxResourceInterpretFontSpec(expr->Nth(count)));
}
}
-#if wxUSE_RADIOBUTTON
+#if wxUSE_RADIOBTN
else if (controlType == _T("wxRadioButton"))
{
// Check for default value
}
}
-void wxExpr::WriteLispExpr(FILE* stream)
-{
- switch (type)
- {
- case wxExprInteger:
- {
- fprintf( stream, "%ld", value.integer );
- break;
- }
- case wxExprReal:
- {
- fprintf( stream, "%.6g", value.real );
- break;
- }
- case wxExprString:
- {
- fprintf( stream, "\"" );
- const wxWX2MBbuf val = wxConvLibc.cWX2MB(value.string);
- fprintf( stream, (const char*) val );
- fprintf( stream, "\"" );
- break;
- }
- case wxExprWord:
- {
- const wxWX2MBbuf val = wxConvLibc.cWX2MB(value.word);
- fprintf( stream, (const char*) val );
- break;
- }
- case wxExprList:
- {
- wxExpr *expr = value.first;
-
- fprintf( stream, "(" );
- while (expr)
- {
- expr->WriteLispExpr(stream);
- expr = expr->next;
- if (expr)
- fprintf( stream, " " );
- }
-
- fprintf( stream, ")" );
- break;
- }
- case wxExprNull: break;
- }
-}
-
/*
* wxExpr 'database' (list of expressions)
*/
return (noErrors == 0);
}
-void wxExprDatabase::WriteLisp(FILE* stream)
-{
- noErrors = 0;
- wxNode *node = First();
- while (node)
- {
- wxExpr *expr = (wxExpr *)node->Data();
- expr->WriteLispExpr(stream);
- fprintf( stream, "\n\n" );
- node = node->Next();
- }
-}
-
void add_expr(wxExpr * expr)
{
thewxExprDatabase->Append(expr);
#include "wx/wx.h"
#endif
+#include "wx/debug.h"
+#include "wx/prop.h"
+
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
-#if wxUSE_IOSTREAMH
-#if defined(__WXMSW__) && !defined(__GNUWIN32__) && !defined(__WXWINE__)
-#include <strstrea.h>
-#else
-#include <strstream.h>
-#endif
-#else
-#include <strstream>
-#endif
-
-#include "wx/window.h"
-#include "wx/utils.h"
-#include "wx/list.h"
-#include "wx/debug.h"
-#include "wx/prop.h"
IMPLEMENT_DYNAMIC_CLASS(wxPropertyValue, wxObject)
return i;
}
-void wxPropertyValue::WritePropertyClause(ostream& stream) // Write this expression as a top-level clause
+void wxPropertyValue::WritePropertyClause(wxString& stream) // Write this expression as a top-level clause
{
if (m_type != wxPropertyValueList)
return;
if (node)
{
node->WritePropertyType(stream);
- stream << "(";
+ stream.Append( _T("(") );
node = node->m_next;
bool first = TRUE;
while (node)
{
if (!first)
- stream << " ";
+ stream.Append( _T(" ") );
node->WritePropertyType(stream);
node = node->m_next;
- if (node) stream << ",\n";
+ if (node)
+ stream.Append( _T(",\n" ) );
first = FALSE;
}
- stream << ").\n\n";
+ stream.Append( _T(").\n\n") );
}
}
-void wxPropertyValue::WritePropertyType(ostream& stream) // Write as any other subexpression
+void wxPropertyValue::WritePropertyType(wxString& stream) // Write as any other subexpression
{
+ wxString tmp;
switch (m_type)
{
case wxPropertyValueInteger:
{
- stream << m_value.integer;
+ tmp.Printf( _T("%ld"), m_value.integer );
+ stream.Append( tmp );
break;
}
case wxPropertyValueIntegerPtr:
{
- stream << *m_value.integerPtr;
+ tmp.Printf( _T("%ld"), *m_value.integerPtr );
+ stream.Append( tmp );
break;
}
case wxPropertyValuebool:
{
if (m_value.integer)
- stream << "True";
+ stream.Append( _T("True") );
else
- stream << "False";
+ stream.Append( _T("False") );
break;
}
case wxPropertyValueboolPtr:
{
if (*m_value.integerPtr)
- stream << "True";
+ stream.Append( _T("True") );
else
- stream << "False";
+ stream.Append( _T("False") );
break;
}
case wxPropertyValueReal:
{
- float f = m_value.real;
- wxSprintf(wxBuffer, _T("%.6g"), (double)f);
- stream << wxBuffer;
+ double d = m_value.real;
+ tmp.Printf( _T("%.6g"), d );
+ stream.Append( tmp );
break;
}
case wxPropertyValueRealPtr:
{
- float f = *m_value.realPtr;
-/* Now the parser can cope with this.
- // Prevent printing in 'e' notation. Any better way?
- if (fabs(f) < 0.00001)
- f = 0.0;
-*/
- wxSprintf(wxBuffer, _T("%.6g"), f);
- stream << wxBuffer;
+ double d = *m_value.realPtr;
+ tmp.Printf( _T("%.6g"), d );
+ stream.Append( tmp );
break;
}
case wxPropertyValueString:
{
-// stream << "\"";
- int i;
- const wxWX2MBbuf strbuf = wxConvCurrent->cWX2MB(m_value.string);
- int len = strlen(strbuf);
- for (i = 0; i < len; i++)
- {
- char ch = strbuf[i];
-// if (ch == '"' || ch == '\\')
-// stream << "\\";
- stream << ch;
- }
-
-// stream << "\"";
+ stream.Append( m_value.string );
break;
}
case wxPropertyValueStringPtr:
case wxPropertyValueList:
{
if (!m_value.first)
- stream << "[]";
+ stream.Append( _T("[]") );
else
{
wxPropertyValue *expr = m_value.first;
- stream << "[";
+ stream.Append( _T("[") );
while (expr)
{
expr->WritePropertyType(stream);
expr = expr->m_next;
- if (expr) stream << ", ";
+ if (expr)
+ stream.Append( _T(", ") );
}
- stream << "]";
+ stream.Append( _T("]") );
}
break;
}
wxString wxPropertyValue::GetStringRepresentation(void)
{
- char buf[500];
- buf[0] = 0;
-
- ostrstream str((char *)buf, (int)500, ios::out);
+ wxString str;
WritePropertyType(str);
- str << '\0';
- str.flush();
-
- wxString theString(buf);
- return theString;
+ return str;
}
void wxPropertyValue::operator=(const wxPropertyValue& val)
Clear();
}
-bool wxPropertySheet::Save( ostream& WXUNUSED(str) )
-{
- return FALSE;
-}
-
-bool wxPropertySheet::Load( ostream& WXUNUSED(str) )
-{
- return FALSE;
-}
-
void wxPropertySheet::UpdateAllViews( wxPropertyView *WXUNUSED(thisView) )
{
}
#include "wx/wx.h"
#endif
+#include "wx/propform.h"
+
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
-#if wxUSE_IOSTREAMH
-#if defined(__WXMSW__) && !defined(__GNUWIN32__) && !defined(__WXWINE__)
-#include <strstrea.h>
-#else
-#include <strstream.h>
-#endif
-#else
-#include <strstream>
-#endif
-
-#include "wx/window.h"
-#include "wx/utils.h"
-#include "wx/list.h"
-#include "wx/propform.h"
/*
* Property view
#include "wx/wx.h"
#endif
+#include "wx/colordlg.h"
+#include "wx/proplist.h"
+
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
-#if wxUSE_IOSTREAMH
-#if defined(__WXMSW__) && !defined(__GNUWIN32__) && !defined(__WXWINE__)
-#include <strstrea.h>
-#else
-#include <strstream.h>
-#endif
-#else
-#include <strstream>
-#endif
-
-#include "wx/window.h"
-#include "wx/utils.h"
-#include "wx/list.h"
-#include "wx/colordlg.h"
-#include "wx/proplist.h"
/*
* Property text edit control
// "configure_event"
//-----------------------------------------------------------------------------
-static gint gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxDialog *win )
+static gint
+#if (GTK_MINOR_VERSON > 0)
+gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxDialog *win )
+#else
+gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxDialog *win )
+#endif
{
if (g_isIdle)
wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
+#if (GTK_MINOR_VERSON > 0)
int x = 0;
int y = 0;
gdk_window_get_root_origin( win->m_widget->window, &x, &y );
-
win->m_x = x;
win->m_y = y;
+#else
+ win->m_x = event->x;
+ win->m_y = event->y;
+#endif
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
// "configure_event"
//-----------------------------------------------------------------------------
-static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxFrame *win )
+static gint
+#if (GTK_MINOR_VERSON > 0)
+gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxFrame *win )
+#else
+gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxFrame *win )
+#endif
{
- if (g_isIdle)
+ if (g_isIdle)
wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
+#if (GTK_MINOR_VERSON > 0)
int x = 0;
int y = 0;
gdk_window_get_root_origin( win->m_widget->window, &x, &y );
-
win->m_x = x;
win->m_y = y;
+#else
+ win->m_x = event->x;
+ win->m_y = event->y;
+#endif
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
else
gtk_notebook_insert_page( notebook, win->m_widget, page->m_box, position );
- page->m_page = GTK_NOTEBOOK_PAGE( g_list_last(notebook->children)->data );
+ page->m_page = (GtkNotebookPage*) g_list_last(notebook->children)->data;
gtk_signal_connect( GTK_OBJECT(win->m_widget), "size_allocate",
GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)win );
wxToolBar *tb = tool->m_owner;
- /* we grey-out the tip text of disabled tool */
-#if 0
+#if (GTK_MINOR_VERSION == 0)
+ /* we grey-out the tip text of disabled tool in GTK 1.0 */
if (tool->m_enabled)
{
if (tb->m_fg->red != 0)
tb->m_fg->blue = 0;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(tb->m_toolbar) ), tb->m_fg );
-#if (GTK_MINOR_VERSION > 0)
- GtkStyle *g_style =
- gtk_style_copy(
- gtk_widget_get_style(
- GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window ) );
-
- g_style->fg[GTK_STATE_NORMAL] = *tb->m_fg;
- gtk_widget_set_style( GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window, g_style );
-#else
gtk_tooltips_set_colors( GTK_TOOLBAR(tb->m_toolbar)->tooltips, tb->m_bg, tb->m_fg );
-#endif
}
}
else
tb->m_fg->green = 33000;
tb->m_fg->blue = 33000;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(tb->m_toolbar) ), tb->m_fg );
-#if (GTK_MINOR_VERSION > 0)
- GtkStyle *g_style =
- gtk_style_copy(
- gtk_widget_get_style(
- GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window ) );
-
- g_style->fg[GTK_STATE_NORMAL] = *tb->m_fg;
- gtk_widget_set_style( GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window, g_style );
-#else
gtk_tooltips_set_colors( GTK_TOOLBAR(tb->m_toolbar)->tooltips, tb->m_bg, tb->m_fg );
-#endif
}
}
#endif
mask = bitmap.GetMask()->GetBitmap();
tool_pixmap = gtk_pixmap_new( pixmap, mask );
+#if (GTK_MINOR_VERSION > 0)
gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE );
+#endif
gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 );
{
tool->m_enabled = enable;
-/* we don't disable the tools for now as the bitmaps don't get
- greyed anyway and this also disables tooltips */
-
+#if (GTK_MINOR_VERSION > 0)
+ /* we don't disable the tools for GTK 1.0 as the bitmaps don't get
+ greyed anyway and this also disables tooltips */
if (tool->m_item)
gtk_widget_set_sensitive( tool->m_item, enable );
+#endif
return;
}
#include "wx/utils.h"
#include "wx/string.h"
#include "wx/list.h"
+#include "wx/log.h"
#include <ctype.h>
#include <string.h>
#include <unistd.h>
-#ifdef __SVR4__
-#include <sys/systeminfo.h>
-#endif
+//#ifdef __SVR4__
+//#include <sys/systeminfo.h>
+//#endif
#include "gdk/gdkx.h" // GDK_DISPLAY
#include "gdk/gdkprivate.h" // gdk_progclass
#include <X11/Xutil.h>
#include <X11/Xresource.h>
-#include "wx/log.h"
//-----------------------------------------------------------------------------
// constants
//-----------------------------------------------------------------------------
#if (GTK_MINOR_VERSION == 0)
+/* these functions are copied verbatim from GTK 1.2 */
+static void
+gdkx_XConvertCase (KeySym symbol,
+ KeySym *lower,
+ KeySym *upper)
+{
+ register KeySym sym = symbol;
+
+ g_return_if_fail (lower != NULL);
+ g_return_if_fail (upper != NULL);
+
+ *lower = sym;
+ *upper = sym;
+
+ switch (sym >> 8)
+ {
+#if defined (GDK_A) && defined (GDK_Ooblique)
+ case 0: /* Latin 1 */
+ if ((sym >= GDK_A) && (sym <= GDK_Z))
+ *lower += (GDK_a - GDK_A);
+ else if ((sym >= GDK_a) && (sym <= GDK_z))
+ *upper -= (GDK_a - GDK_A);
+ else if ((sym >= GDK_Agrave) && (sym <= GDK_Odiaeresis))
+ *lower += (GDK_agrave - GDK_Agrave);
+ else if ((sym >= GDK_agrave) && (sym <= GDK_odiaeresis))
+ *upper -= (GDK_agrave - GDK_Agrave);
+ else if ((sym >= GDK_Ooblique) && (sym <= GDK_Thorn))
+ *lower += (GDK_oslash - GDK_Ooblique);
+ else if ((sym >= GDK_oslash) && (sym <= GDK_thorn))
+ *upper -= (GDK_oslash - GDK_Ooblique);
+ break;
+#endif /* LATIN1 */
+
+#if defined (GDK_Aogonek) && defined (GDK_tcedilla)
+ case 1: /* Latin 2 */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym == GDK_Aogonek)
+ *lower = GDK_aogonek;
+ else if (sym >= GDK_Lstroke && sym <= GDK_Sacute)
+ *lower += (GDK_lstroke - GDK_Lstroke);
+ else if (sym >= GDK_Scaron && sym <= GDK_Zacute)
+ *lower += (GDK_scaron - GDK_Scaron);
+ else if (sym >= GDK_Zcaron && sym <= GDK_Zabovedot)
+ *lower += (GDK_zcaron - GDK_Zcaron);
+ else if (sym == GDK_aogonek)
+ *upper = GDK_Aogonek;
+ else if (sym >= GDK_lstroke && sym <= GDK_sacute)
+ *upper -= (GDK_lstroke - GDK_Lstroke);
+ else if (sym >= GDK_scaron && sym <= GDK_zacute)
+ *upper -= (GDK_scaron - GDK_Scaron);
+ else if (sym >= GDK_zcaron && sym <= GDK_zabovedot)
+ *upper -= (GDK_zcaron - GDK_Zcaron);
+ else if (sym >= GDK_Racute && sym <= GDK_Tcedilla)
+ *lower += (GDK_racute - GDK_Racute);
+ else if (sym >= GDK_racute && sym <= GDK_tcedilla)
+ *upper -= (GDK_racute - GDK_Racute);
+ break;
+#endif /* LATIN2 */
+
+#if defined (GDK_Hstroke) && defined (GDK_Cabovedot)
+ case 2: /* Latin 3 */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Hstroke && sym <= GDK_Hcircumflex)
+ *lower += (GDK_hstroke - GDK_Hstroke);
+ else if (sym >= GDK_Gbreve && sym <= GDK_Jcircumflex)
+ *lower += (GDK_gbreve - GDK_Gbreve);
+ else if (sym >= GDK_hstroke && sym <= GDK_hcircumflex)
+ *upper -= (GDK_hstroke - GDK_Hstroke);
+ else if (sym >= GDK_gbreve && sym <= GDK_jcircumflex)
+ *upper -= (GDK_gbreve - GDK_Gbreve);
+ else if (sym >= GDK_Cabovedot && sym <= GDK_Scircumflex)
+ *lower += (GDK_cabovedot - GDK_Cabovedot);
+ else if (sym >= GDK_cabovedot && sym <= GDK_scircumflex)
+ *upper -= (GDK_cabovedot - GDK_Cabovedot);
+ break;
+#endif /* LATIN3 */
+
+#if defined (GDK_Rcedilla) && defined (GDK_Amacron)
+ case 3: /* Latin 4 */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Rcedilla && sym <= GDK_Tslash)
+ *lower += (GDK_rcedilla - GDK_Rcedilla);
+ else if (sym >= GDK_rcedilla && sym <= GDK_tslash)
+ *upper -= (GDK_rcedilla - GDK_Rcedilla);
+ else if (sym == GDK_ENG)
+ *lower = GDK_eng;
+ else if (sym == GDK_eng)
+ *upper = GDK_ENG;
+ else if (sym >= GDK_Amacron && sym <= GDK_Umacron)
+ *lower += (GDK_amacron - GDK_Amacron);
+ else if (sym >= GDK_amacron && sym <= GDK_umacron)
+ *upper -= (GDK_amacron - GDK_Amacron);
+ break;
+#endif /* LATIN4 */
+
+#if defined (GDK_Serbian_DJE) && defined (GDK_Cyrillic_yu)
+ case 6: /* Cyrillic */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Serbian_DJE && sym <= GDK_Serbian_DZE)
+ *lower -= (GDK_Serbian_DJE - GDK_Serbian_dje);
+ else if (sym >= GDK_Serbian_dje && sym <= GDK_Serbian_dze)
+ *upper += (GDK_Serbian_DJE - GDK_Serbian_dje);
+ else if (sym >= GDK_Cyrillic_YU && sym <= GDK_Cyrillic_HARDSIGN)
+ *lower -= (GDK_Cyrillic_YU - GDK_Cyrillic_yu);
+ else if (sym >= GDK_Cyrillic_yu && sym <= GDK_Cyrillic_hardsign)
+ *upper += (GDK_Cyrillic_YU - GDK_Cyrillic_yu);
+ break;
+#endif /* CYRILLIC */
+
+#if defined (GDK_Greek_ALPHAaccent) && defined (GDK_Greek_finalsmallsigma)
+ case 7: /* Greek */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Greek_ALPHAaccent && sym <= GDK_Greek_OMEGAaccent)
+ *lower += (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent);
+ else if (sym >= GDK_Greek_alphaaccent && sym <= GDK_Greek_omegaaccent &&
+ sym != GDK_Greek_iotaaccentdieresis &&
+ sym != GDK_Greek_upsilonaccentdieresis)
+ *upper -= (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent);
+ else if (sym >= GDK_Greek_ALPHA && sym <= GDK_Greek_OMEGA)
+ *lower += (GDK_Greek_alpha - GDK_Greek_ALPHA);
+ else if (sym >= GDK_Greek_alpha && sym <= GDK_Greek_omega &&
+ sym != GDK_Greek_finalsmallsigma)
+ *upper -= (GDK_Greek_alpha - GDK_Greek_ALPHA);
+ break;
+#endif /* GREEK */
+ }
+}
+
static guint
gdk_keyval_to_upper (guint keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
- XConvertCase (keyval, &lower_val, &upper_val);
+ gdkx_XConvertCase (keyval, &lower_val, &upper_val);
return upper_val;
}
return 0;
bool wxWindow::Reparent( wxWindow *newParent )
{
- wxCHECK_MSG( (m_widget != NULL), (wxWindow*) NULL, _T("invalid window") );
+ wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
wxWindow *oldParent = m_parent;
// "configure_event"
//-----------------------------------------------------------------------------
-static gint gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxDialog *win )
+static gint
+#if (GTK_MINOR_VERSON > 0)
+gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxDialog *win )
+#else
+gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxDialog *win )
+#endif
{
if (g_isIdle)
wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
+#if (GTK_MINOR_VERSON > 0)
int x = 0;
int y = 0;
gdk_window_get_root_origin( win->m_widget->window, &x, &y );
-
win->m_x = x;
win->m_y = y;
+#else
+ win->m_x = event->x;
+ win->m_y = event->y;
+#endif
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
// "configure_event"
//-----------------------------------------------------------------------------
-static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxFrame *win )
+static gint
+#if (GTK_MINOR_VERSON > 0)
+gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WXUNUSED(event), wxFrame *win )
+#else
+gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxFrame *win )
+#endif
{
- if (g_isIdle)
+ if (g_isIdle)
wxapp_install_idle_handler();
if (!win->m_hasVMT) return FALSE;
+#if (GTK_MINOR_VERSON > 0)
int x = 0;
int y = 0;
gdk_window_get_root_origin( win->m_widget->window, &x, &y );
-
win->m_x = x;
win->m_y = y;
+#else
+ win->m_x = event->x;
+ win->m_y = event->y;
+#endif
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
mevent.SetEventObject( win );
else
gtk_notebook_insert_page( notebook, win->m_widget, page->m_box, position );
- page->m_page = GTK_NOTEBOOK_PAGE( g_list_last(notebook->children)->data );
+ page->m_page = (GtkNotebookPage*) g_list_last(notebook->children)->data;
gtk_signal_connect( GTK_OBJECT(win->m_widget), "size_allocate",
GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)win );
wxToolBar *tb = tool->m_owner;
- /* we grey-out the tip text of disabled tool */
-#if 0
+#if (GTK_MINOR_VERSION == 0)
+ /* we grey-out the tip text of disabled tool in GTK 1.0 */
if (tool->m_enabled)
{
if (tb->m_fg->red != 0)
tb->m_fg->blue = 0;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(tb->m_toolbar) ), tb->m_fg );
-#if (GTK_MINOR_VERSION > 0)
- GtkStyle *g_style =
- gtk_style_copy(
- gtk_widget_get_style(
- GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window ) );
-
- g_style->fg[GTK_STATE_NORMAL] = *tb->m_fg;
- gtk_widget_set_style( GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window, g_style );
-#else
gtk_tooltips_set_colors( GTK_TOOLBAR(tb->m_toolbar)->tooltips, tb->m_bg, tb->m_fg );
-#endif
}
}
else
tb->m_fg->green = 33000;
tb->m_fg->blue = 33000;
gdk_color_alloc( gtk_widget_get_colormap( GTK_WIDGET(tb->m_toolbar) ), tb->m_fg );
-#if (GTK_MINOR_VERSION > 0)
- GtkStyle *g_style =
- gtk_style_copy(
- gtk_widget_get_style(
- GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window ) );
-
- g_style->fg[GTK_STATE_NORMAL] = *tb->m_fg;
- gtk_widget_set_style( GTK_TOOLBAR(tb->m_toolbar)->tooltips->tip_window, g_style );
-#else
gtk_tooltips_set_colors( GTK_TOOLBAR(tb->m_toolbar)->tooltips, tb->m_bg, tb->m_fg );
-#endif
}
}
#endif
mask = bitmap.GetMask()->GetBitmap();
tool_pixmap = gtk_pixmap_new( pixmap, mask );
+#if (GTK_MINOR_VERSION > 0)
gtk_pixmap_set_build_insensitive( GTK_PIXMAP(tool_pixmap), TRUE );
+#endif
gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 );
{
tool->m_enabled = enable;
-/* we don't disable the tools for now as the bitmaps don't get
- greyed anyway and this also disables tooltips */
-
+#if (GTK_MINOR_VERSION > 0)
+ /* we don't disable the tools for GTK 1.0 as the bitmaps don't get
+ greyed anyway and this also disables tooltips */
if (tool->m_item)
gtk_widget_set_sensitive( tool->m_item, enable );
+#endif
return;
}
#include "wx/utils.h"
#include "wx/string.h"
#include "wx/list.h"
+#include "wx/log.h"
#include <ctype.h>
#include <string.h>
#include <unistd.h>
-#ifdef __SVR4__
-#include <sys/systeminfo.h>
-#endif
+//#ifdef __SVR4__
+//#include <sys/systeminfo.h>
+//#endif
#include "gdk/gdkx.h" // GDK_DISPLAY
#include "gdk/gdkprivate.h" // gdk_progclass
#include <X11/Xutil.h>
#include <X11/Xresource.h>
-#include "wx/log.h"
//-----------------------------------------------------------------------------
// constants
//-----------------------------------------------------------------------------
#if (GTK_MINOR_VERSION == 0)
+/* these functions are copied verbatim from GTK 1.2 */
+static void
+gdkx_XConvertCase (KeySym symbol,
+ KeySym *lower,
+ KeySym *upper)
+{
+ register KeySym sym = symbol;
+
+ g_return_if_fail (lower != NULL);
+ g_return_if_fail (upper != NULL);
+
+ *lower = sym;
+ *upper = sym;
+
+ switch (sym >> 8)
+ {
+#if defined (GDK_A) && defined (GDK_Ooblique)
+ case 0: /* Latin 1 */
+ if ((sym >= GDK_A) && (sym <= GDK_Z))
+ *lower += (GDK_a - GDK_A);
+ else if ((sym >= GDK_a) && (sym <= GDK_z))
+ *upper -= (GDK_a - GDK_A);
+ else if ((sym >= GDK_Agrave) && (sym <= GDK_Odiaeresis))
+ *lower += (GDK_agrave - GDK_Agrave);
+ else if ((sym >= GDK_agrave) && (sym <= GDK_odiaeresis))
+ *upper -= (GDK_agrave - GDK_Agrave);
+ else if ((sym >= GDK_Ooblique) && (sym <= GDK_Thorn))
+ *lower += (GDK_oslash - GDK_Ooblique);
+ else if ((sym >= GDK_oslash) && (sym <= GDK_thorn))
+ *upper -= (GDK_oslash - GDK_Ooblique);
+ break;
+#endif /* LATIN1 */
+
+#if defined (GDK_Aogonek) && defined (GDK_tcedilla)
+ case 1: /* Latin 2 */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym == GDK_Aogonek)
+ *lower = GDK_aogonek;
+ else if (sym >= GDK_Lstroke && sym <= GDK_Sacute)
+ *lower += (GDK_lstroke - GDK_Lstroke);
+ else if (sym >= GDK_Scaron && sym <= GDK_Zacute)
+ *lower += (GDK_scaron - GDK_Scaron);
+ else if (sym >= GDK_Zcaron && sym <= GDK_Zabovedot)
+ *lower += (GDK_zcaron - GDK_Zcaron);
+ else if (sym == GDK_aogonek)
+ *upper = GDK_Aogonek;
+ else if (sym >= GDK_lstroke && sym <= GDK_sacute)
+ *upper -= (GDK_lstroke - GDK_Lstroke);
+ else if (sym >= GDK_scaron && sym <= GDK_zacute)
+ *upper -= (GDK_scaron - GDK_Scaron);
+ else if (sym >= GDK_zcaron && sym <= GDK_zabovedot)
+ *upper -= (GDK_zcaron - GDK_Zcaron);
+ else if (sym >= GDK_Racute && sym <= GDK_Tcedilla)
+ *lower += (GDK_racute - GDK_Racute);
+ else if (sym >= GDK_racute && sym <= GDK_tcedilla)
+ *upper -= (GDK_racute - GDK_Racute);
+ break;
+#endif /* LATIN2 */
+
+#if defined (GDK_Hstroke) && defined (GDK_Cabovedot)
+ case 2: /* Latin 3 */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Hstroke && sym <= GDK_Hcircumflex)
+ *lower += (GDK_hstroke - GDK_Hstroke);
+ else if (sym >= GDK_Gbreve && sym <= GDK_Jcircumflex)
+ *lower += (GDK_gbreve - GDK_Gbreve);
+ else if (sym >= GDK_hstroke && sym <= GDK_hcircumflex)
+ *upper -= (GDK_hstroke - GDK_Hstroke);
+ else if (sym >= GDK_gbreve && sym <= GDK_jcircumflex)
+ *upper -= (GDK_gbreve - GDK_Gbreve);
+ else if (sym >= GDK_Cabovedot && sym <= GDK_Scircumflex)
+ *lower += (GDK_cabovedot - GDK_Cabovedot);
+ else if (sym >= GDK_cabovedot && sym <= GDK_scircumflex)
+ *upper -= (GDK_cabovedot - GDK_Cabovedot);
+ break;
+#endif /* LATIN3 */
+
+#if defined (GDK_Rcedilla) && defined (GDK_Amacron)
+ case 3: /* Latin 4 */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Rcedilla && sym <= GDK_Tslash)
+ *lower += (GDK_rcedilla - GDK_Rcedilla);
+ else if (sym >= GDK_rcedilla && sym <= GDK_tslash)
+ *upper -= (GDK_rcedilla - GDK_Rcedilla);
+ else if (sym == GDK_ENG)
+ *lower = GDK_eng;
+ else if (sym == GDK_eng)
+ *upper = GDK_ENG;
+ else if (sym >= GDK_Amacron && sym <= GDK_Umacron)
+ *lower += (GDK_amacron - GDK_Amacron);
+ else if (sym >= GDK_amacron && sym <= GDK_umacron)
+ *upper -= (GDK_amacron - GDK_Amacron);
+ break;
+#endif /* LATIN4 */
+
+#if defined (GDK_Serbian_DJE) && defined (GDK_Cyrillic_yu)
+ case 6: /* Cyrillic */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Serbian_DJE && sym <= GDK_Serbian_DZE)
+ *lower -= (GDK_Serbian_DJE - GDK_Serbian_dje);
+ else if (sym >= GDK_Serbian_dje && sym <= GDK_Serbian_dze)
+ *upper += (GDK_Serbian_DJE - GDK_Serbian_dje);
+ else if (sym >= GDK_Cyrillic_YU && sym <= GDK_Cyrillic_HARDSIGN)
+ *lower -= (GDK_Cyrillic_YU - GDK_Cyrillic_yu);
+ else if (sym >= GDK_Cyrillic_yu && sym <= GDK_Cyrillic_hardsign)
+ *upper += (GDK_Cyrillic_YU - GDK_Cyrillic_yu);
+ break;
+#endif /* CYRILLIC */
+
+#if defined (GDK_Greek_ALPHAaccent) && defined (GDK_Greek_finalsmallsigma)
+ case 7: /* Greek */
+ /* Assume the KeySym is a legal value (ignore discontinuities) */
+ if (sym >= GDK_Greek_ALPHAaccent && sym <= GDK_Greek_OMEGAaccent)
+ *lower += (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent);
+ else if (sym >= GDK_Greek_alphaaccent && sym <= GDK_Greek_omegaaccent &&
+ sym != GDK_Greek_iotaaccentdieresis &&
+ sym != GDK_Greek_upsilonaccentdieresis)
+ *upper -= (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent);
+ else if (sym >= GDK_Greek_ALPHA && sym <= GDK_Greek_OMEGA)
+ *lower += (GDK_Greek_alpha - GDK_Greek_ALPHA);
+ else if (sym >= GDK_Greek_alpha && sym <= GDK_Greek_omega &&
+ sym != GDK_Greek_finalsmallsigma)
+ *upper -= (GDK_Greek_alpha - GDK_Greek_ALPHA);
+ break;
+#endif /* GREEK */
+ }
+}
+
static guint
gdk_keyval_to_upper (guint keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
- XConvertCase (keyval, &lower_val, &upper_val);
+ gdkx_XConvertCase (keyval, &lower_val, &upper_val);
return upper_val;
}
return 0;
bool wxWindow::Reparent( wxWindow *newParent )
{
- wxCHECK_MSG( (m_widget != NULL), (wxWindow*) NULL, _T("invalid window") );
+ wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
wxWindow *oldParent = m_parent;