#include "wx/menu.h"
#include "wx/stattext.h"
#include "wx/button.h"
+#include "wx/bmpbuttn.h"
#include "wx/radiobox.h"
#include "wx/listbox.h"
#include "wx/choice.h"
#include "wx/checkbox.h"
#include "wx/slider.h"
#include "wx/statbox.h"
-#if USE_GAUGE
+#if wxUSE_GAUGE
#include "wx/gauge.h"
#endif
#include "wx/textctrl.h"
-#include "wx/msgbxdlg.h"
+#include "wx/msgdlg.h"
+#include "wx/intl.h"
#endif
-#if USE_SCROLLBAR
+#if wxUSE_SCROLLBAR
#include "wx/scrolbar.h"
#endif
-#if USE_COMBOBOX
+#if wxUSE_COMBOBOX
#include "wx/combobox.h"
#endif
#include "wx/log.h"
-#if USE_WX_RESOURCES
+#if wxUSE_WX_RESOURCES
#include <ctype.h>
#include <math.h>
// Interpret list expression
wxFont *wxResourceInterpretFontSpec(PrologExpr *expr);
-bool wxResourceReadOneResource(FILE *fd, PrologDatabase& db, bool *eof, wxResourceTable *table = NULL);
-bool wxResourceParseIncludeFile(char *f, wxResourceTable *table = NULL);
+bool wxResourceReadOneResource(FILE *fd, PrologDatabase& db, bool *eof, wxResourceTable *table = (wxResourceTable *) NULL);
+bool wxResourceParseIncludeFile(char *f, wxResourceTable *table = (wxResourceTable *) NULL);
-wxResourceTable *wxDefaultResourceTable = NULL;
+wxResourceTable *wxDefaultResourceTable = (wxResourceTable *) NULL;
-static char *wxResourceBuffer = NULL;
+static char *wxResourceBuffer = (char *) NULL;
static long wxResourceBufferSize = 0;
static long wxResourceBufferCount = 0;
static int wxResourceStringPtr = 0;
void wxCleanUpResourceSystem(void)
{
delete wxDefaultResourceTable;
+ if (wxResourceBuffer)
+ delete[] wxResourceBuffer;
}
void wxLogWarning(char *msg)
wxItemResource::wxItemResource(void)
{
- itemType = NULL;
- title = NULL;
- name = NULL;
+ itemType = (char *) NULL;
+ title = (char *) NULL;
+ name = (char *) NULL;
windowStyle = 0;
x = y = width = height = 0;
value1 = value2 = value3 = value5 = 0;
- value4 = NULL;
- stringValues = NULL;
- bitmap = NULL;
- backgroundColour = labelColour = buttonColour = NULL;
- windowFont = NULL;
+ value4 = (char *) NULL;
+ stringValues = (wxStringList *) NULL;
+ bitmap = (wxBitmap *) NULL;
+ backgroundColour = labelColour = buttonColour = (wxColour *) NULL;
+ windowFont = (wxFont *) NULL;
m_windowId = 0;
}
if (t)
title = copystring(t);
else
- title = NULL;
+ title = (char *) NULL;
}
void wxItemResource::SetType(char *t)
if (t)
itemType = copystring(t);
else
- itemType = NULL;
+ itemType = (char *) NULL;
}
void wxItemResource::SetName(char *n)
if (n)
name = copystring(n);
else
- name = NULL;
+ name = (char *) NULL;
}
void wxItemResource::SetStringValues(wxStringList *svalues)
if (svalues)
stringValues = svalues;
else
- stringValues = NULL;
+ stringValues = (wxStringList *) NULL;
}
void wxItemResource::SetValue4(char *v)
if (v)
value4 = copystring(v);
else
- value4 = NULL;
+ value4 = (char *) NULL;
}
/*
// See if any resource has this as its child; if so, delete from
// parent's child list.
BeginFind();
- wxNode *node = NULL;
+ wxNode *node = (wxNode *) NULL;
while ((node = Next()))
{
wxItemResource *parent = (wxItemResource *)node->Data();
if ( id == 0 )
id = -1;
- wxControl *control = NULL;
+ wxControl *control = (wxControl *) NULL;
wxString itemType(childResource->GetType());
if (itemType == wxString("wxButton") || itemType == wxString("wxBitmapButton"))
{
bitmap = wxResourceCreateBitmap(childResource->GetValue4(), (wxResourceTable *)this);
childResource->SetBitmap(bitmap);
}
-#if USE_BITMAP_MESSAGE
+#if wxUSE_BITMAP_MESSAGE
if (bitmap)
control = new wxStaticBitmap(parent, id, *bitmap,
wxPoint(childResource->GetX(), childResource->GetY()),
((wxCheckBox *)control)->SetValue((childResource->GetValue1() != 0));
}
-#if USE_GAUGE
+#if wxUSE_GAUGE
else if (itemType == wxString("wxGauge"))
{
control = new wxGauge(parent, id, (int)childResource->GetValue2(),
((wxGauge *)control)->SetValue((int)childResource->GetValue1());
}
#endif
-#if USE_RADIOBUTTON
+#if wxUSE_RADIOBUTTON
else if (itemType == wxString("wxRadioButton"))
{
control = new wxRadioButton(parent, id, childResource->GetTitle(), // (int)childResource->GetValue1(),
childResource->GetStyle(), wxDefaultValidator, childResource->GetName());
}
#endif
-#if USE_SCROLLBAR
+#if wxUSE_SCROLLBAR
else if (itemType == wxString("wxScrollBar"))
{
control = new wxScrollBar(parent, id,
else if (itemType == wxString("wxListBox"))
{
wxStringList *stringList = childResource->GetStringValues();
- wxString *strings = NULL;
+ wxString *strings = (wxString *) NULL;
int noStrings = 0;
if (stringList && (stringList->Number() > 0))
{
else if (itemType == wxString("wxChoice"))
{
wxStringList *stringList = childResource->GetStringValues();
- wxString *strings = NULL;
+ wxString *strings = (wxString *) NULL;
int noStrings = 0;
if (stringList && (stringList->Number() > 0))
{
if (strings)
delete[] strings;
}
-#if USE_COMBOBOX
+#if wxUSE_COMBOBOX
else if (itemType == wxString("wxComboBox"))
{
wxStringList *stringList = childResource->GetStringValues();
- wxString *strings = NULL;
+ wxString *strings = (wxString *) NULL;
int noStrings = 0;
if (stringList && (stringList->Number() > 0))
{
else if (itemType == wxString("wxRadioBox"))
{
wxStringList *stringList = childResource->GetStringValues();
- wxString *strings = NULL;
+ wxString *strings = (wxString *) NULL;
int noStrings = 0;
if (stringList && (stringList->Number() > 0))
{
PrologExpr *clause = (PrologExpr *)node->Data();
wxString functor(clause->Functor());
- wxItemResource *item = NULL;
+ wxItemResource *item = (wxItemResource *) NULL;
if (functor == "dialog")
item = wxResourceInterpretDialog(table, clause);
else if (functor == "panel")
dialogItem->SetType("wxPanel");
else
dialogItem->SetType("wxDialog");
- char *style = NULL;
- char *title = NULL;
- char *name = NULL;
- char *backColourHex = NULL;
- char *labelColourHex = NULL;
- char *buttonColourHex = NULL;
+ char *style = (char *) NULL;
+ char *title = (char *) NULL;
+ char *name = (char *) NULL;
+ char *backColourHex = (char *) NULL;
+ char *labelColourHex = (char *) NULL;
+ char *buttonColourHex = (char *) NULL;
long windowStyle = wxDEFAULT_DIALOG_STYLE;
if (isPanel)
int x = 0; int y = 0; int width = -1; int height = -1;
int isModal = 0;
- PrologExpr *labelFontExpr = NULL;
- PrologExpr *buttonFontExpr = NULL;
- PrologExpr *fontExpr = NULL;
+ PrologExpr *labelFontExpr = (PrologExpr *) NULL;
+ PrologExpr *buttonFontExpr = (PrologExpr *) NULL;
+ PrologExpr *fontExpr = (PrologExpr *) NULL;
expr->AssignAttributeValue("style", &style);
expr->AssignAttributeValue("name", &name);
expr->AssignAttributeValue("title", &title);
"(see manual for caveats)"),
(const char*) expr1->StringValue());
delete controlItem;
- return NULL;
+ return (wxItemResource *) NULL;
}
else
{
controlItem->SetFont(wxResourceInterpretFontSpec(expr->Nth(count)));
}
}
-#if USE_RADIOBUTTON
+#if wxUSE_RADIOBUTTON
else if (controlType == "wxRadioButton")
{
// Check for default value
}
}
#endif
- else if (controlType == "wxText" || controlType == "wxTextCtrl")
+ else if (controlType == "wxText" || controlType == "wxTextCtrl" || controlType == "wxMultiText")
{
// Check for default value
if (expr->Nth(count) && ((expr->Nth(count)->Type() == PrologString) || (expr->Nth(count)->Type() == PrologWord)))
}
else if (controlType == "wxListBox")
{
- PrologExpr *valueList = NULL;
+ PrologExpr *valueList = (PrologExpr *) NULL;
if ((valueList = expr->Nth(count)) && (valueList->Type() == PrologList))
{
count ++;
// Check for wxSINGLE/wxMULTIPLE
- PrologExpr *mult = NULL;
+ PrologExpr *mult = (PrologExpr *) NULL;
controlItem->SetValue1(wxLB_SINGLE);
if ((mult = expr->Nth(count)) && ((mult->Type() == PrologString)||(mult->Type() == PrologWord)))
{
}
else if (controlType == "wxChoice")
{
- PrologExpr *valueList = NULL;
+ PrologExpr *valueList = (PrologExpr *) NULL;
// Check for default value list
if ((valueList = expr->Nth(count)) && (valueList->Type() == PrologList))
{
}
}
}
-#if USE_COMBOBOX
+#if wxUSE_COMBOBOX
else if (controlType == "wxComboBox")
{
PrologExpr *textValue = expr->Nth(count);
count ++;
- PrologExpr *valueList = NULL;
+ PrologExpr *valueList = (PrologExpr *) NULL;
// Check for default value list
if ((valueList = expr->Nth(count)) && (valueList->Type() == PrologList))
{
}
}
#endif
-#if 0
+#if 1
else if (controlType == "wxRadioBox")
{
- PrologExpr *valueList = NULL;
+ PrologExpr *valueList = (PrologExpr *) NULL;
// Check for default value list
if ((valueList = expr->Nth(count)) && (valueList->Type() == PrologList))
{
else
{
delete controlItem;
- return NULL;
+ return (wxItemResource *) NULL;
}
return controlItem;
}
wxItemResource *wxResourceInterpretMenu(wxResourceTable& table, PrologExpr *expr)
{
- PrologExpr *listExpr = NULL;
+ PrologExpr *listExpr = (PrologExpr *) NULL;
expr->AssignAttributeValue("menu", &listExpr);
if (!listExpr)
- return NULL;
+ return (wxItemResource *) NULL;
wxItemResource *menuResource = wxResourceInterpretMenuItem(table, listExpr);
if (!menuResource)
- return NULL;
+ return (wxItemResource *) NULL;
- char *name = NULL;
+ char *name = (char *) NULL;
expr->AssignAttributeValue("name", &name);
if (name)
{
wxItemResource *wxResourceInterpretMenuBar(wxResourceTable& table, PrologExpr *expr)
{
- PrologExpr *listExpr = NULL;
+ PrologExpr *listExpr = (PrologExpr *) NULL;
expr->AssignAttributeValue("menu", &listExpr);
if (!listExpr)
- return NULL;
+ return (wxItemResource *) NULL;
wxItemResource *resource = new wxItemResource;
resource->SetType("wxMenu");
element = element->GetNext();
}
- char *name = NULL;
+ char *name = (char *) NULL;
expr->AssignAttributeValue("name", &name);
if (name)
{
wxItemResource *wxResourceInterpretString(wxResourceTable& WXUNUSED(table), PrologExpr *WXUNUSED(expr))
{
- return NULL;
+ return (wxItemResource *) NULL;
}
wxItemResource *wxResourceInterpretBitmap(wxResourceTable& WXUNUSED(table), PrologExpr *expr)
wxItemResource *bitmapItem = new wxItemResource;
// bitmapItem->SetType(wxTYPE_BITMAP);
bitmapItem->SetType("wxBitmap");
- char *name = NULL;
+ char *name = (char *) NULL;
expr->AssignAttributeValue("name", &name);
if (name)
{
return item;
}
else
- return NULL;
+ return (wxItemResource *) NULL;
}
// Interpret list expression as a font
wxFont *wxResourceInterpretFontSpec(PrologExpr *expr)
{
if (expr->Type() != PrologList)
- return NULL;
+ return (wxFont *) NULL;
int point = 10;
int family = wxSWISS;
if (faceNameExpr)
faceName = faceNameExpr->StringValue();
- char *faceName1 = NULL;
+ char *faceName1 = (char *) NULL;
if (faceName != "")
faceName1 = WXSTRINGCAST faceName;
wxFont *font = wxTheFontList->FindOrCreateFont(point, family, style, weight, (underline != 0), faceName1);
char *wxResourceParseWord(char *s, int *i)
{
if (!s)
- return NULL;
+ return (char *) NULL;
static char buf[150];
int len = strlen(s);
}
*i = ii;
if (j == 0)
- return NULL;
+ return (char *) NULL;
else
return buf;
}
if (!item->GetType() || strcmp(item->GetType(), "wxBitmap") != 0)
{
wxLogWarning(_("%s not a bitmap resource specification."), resource);
- return NULL;
+ return (wxBitmap *) NULL;
}
int thisDepth = wxDisplayDepth();
long thisNoColours = (long)pow(2.0, (double)thisDepth);
- wxItemResource *optResource = NULL;
+ wxItemResource *optResource = (wxItemResource *) NULL;
// Try to find optimum bitmap for this platform/colour depth
wxNode *node = item->GetChildren().First();
break;
}
#endif
-#ifdef __X__
+#ifdef __WXGTK__
case RESOURCE_PLATFORM_X:
{
if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
}
// If no matching resource, fail.
if (!optResource)
- return NULL;
+ return (wxBitmap *) NULL;
char *name = optResource->GetName();
int bitmapType = (int)optResource->GetValue1();
- wxBitmap *bitmap = NULL;
+ wxBitmap *bitmap = (wxBitmap *) NULL;
switch (bitmapType)
{
case wxBITMAP_TYPE_XBM_DATA:
{
-#ifdef __X__
+#ifdef __WXGTK__
wxItemResource *item = table->FindResource(name);
if (!item)
{
wxLogWarning(_("Failed to find XBM resource %s.\n"
"Forgot to use wxResourceLoadBitmapData?"), name);
- return NULL;
+ return (wxBitmap *) NULL;
}
bitmap = new wxBitmap((char *)item->GetValue1(), (int)item->GetValue2(), (int)item->GetValue3());
#else
}
case wxBITMAP_TYPE_XPM_DATA:
{
-#if (defined(__X__) && USE_XPM_IN_X) || (defined(__WXMSW__) && USE_XPM_IN_MSW)
+#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
wxItemResource *item = table->FindResource(name);
if (!item)
{
wxLogWarning(_("Failed to find XPM resource %s.\n"
"Forgot to use wxResourceLoadBitmapData?"), name);
- return NULL;
+ return (wxBitmap *) NULL;
}
bitmap = new wxBitmap(item->GetValue1());
#else
}
}
if (!bitmap)
- return NULL;
+ return (wxBitmap *) NULL;
if (bitmap->Ok())
{
else
{
delete bitmap;
- return NULL;
+ return (wxBitmap *) NULL;
}
}
else
{
wxLogWarning(_("Bitmap resource specification %s not found."), resource);
- return NULL;
+ return (wxBitmap *) NULL;
}
}
if (!item->GetType() || strcmp(item->GetType(), "wxIcon") != 0)
{
wxLogWarning(_("%s not an icon resource specification."), resource);
- return NULL;
+ return (wxIcon *) NULL;
}
int thisDepth = wxDisplayDepth();
long thisNoColours = (long)pow(2.0, (double)thisDepth);
- wxItemResource *optResource = NULL;
+ wxItemResource *optResource = (wxItemResource *) NULL;
// Try to find optimum icon for this platform/colour depth
wxNode *node = item->GetChildren().First();
break;
}
#endif
-#ifdef __X__
+#ifdef __WXGTK__
case RESOURCE_PLATFORM_X:
{
if (!optResource && ((noColours == 0) || (noColours <= thisNoColours)))
}
// If no matching resource, fail.
if (!optResource)
- return NULL;
+ return (wxIcon *) NULL;
char *name = optResource->GetName();
int bitmapType = (int)optResource->GetValue1();
- wxIcon *icon = NULL;
+ wxIcon *icon = (wxIcon *) NULL;
switch (bitmapType)
{
case wxBITMAP_TYPE_XBM_DATA:
{
-#ifdef __X__
+#ifdef __WXGTK__
wxItemResource *item = table->FindResource(name);
if (!item)
{
wxLogWarning(_("Failed to find XBM resource %s.\n"
"Forgot to use wxResourceLoadIconData?"), name);
- return NULL;
+ return (wxIcon *) NULL;
}
- icon = new wxIcon((char *)item->GetValue1(), (int)item->GetValue2(), (int)item->GetValue3());
+ icon = new wxIcon((char **)item->GetValue1(), (int)item->GetValue2(), (int)item->GetValue3());
#else
wxLogWarning(_("No XBM facility available!"));
#endif
{
// *** XPM ICON NOT YET IMPLEMENTED IN WXWINDOWS ***
/*
-#if (defined(__X__) && USE_XPM_IN_X) || (defined(__WXMSW__) && USE_XPM_IN_MSW)
+#if (defined(__WXGTK__)) || (defined(__WXMSW__) && wxUSE_XPM_IN_MSW)
wxItemResource *item = table->FindResource(name);
if (!item)
{
}
default:
{
+#ifdef __WXGTK__
+ wxLogWarning(_("Icon resource specification %s not found."), resource);
+#else
icon = new wxIcon(name, bitmapType);
+#endif
break;
}
}
if (!icon)
- return NULL;
+ return (wxIcon *) NULL;
if (icon->Ok())
{
else
{
delete icon;
- return NULL;
+ return (wxIcon *) NULL;
}
}
else
{
wxLogWarning(_("Icon resource specification %s not found."), resource);
- return NULL;
+ return (wxIcon *) NULL;
}
}
}
return menuBar;
}
- return NULL;
+ return (wxMenuBar *) NULL;
}
wxMenu *wxResourceCreateMenu(char *resource, wxResourceTable *table)
if (menuResource && menuResource->GetType() && strcmp(menuResource->GetType(), "wxMenu") == 0)
// if (menuResource && (menuResource->GetType() == wxTYPE_MENU))
return wxResourceCreateMenu(menuResource);
- return NULL;
+ return (wxMenu *) NULL;
}
// Global equivalents (so don't have to refer to default table explicitly)
return table->CreateItem((wxWindow *)this, (wxItemResource *)resource);
}
-#endif // USE_WX_RESOURCES
+#endif // wxUSE_WX_RESOURCES