Applied patch [ 796140 ] fixes for building demos/poem in Unicode mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -67,10 +67,10 @@
|
||||
#define X_SIZE 30
|
||||
#define Y_SIZE 20
|
||||
|
||||
static char *poem_buffer; // Storage for each poem
|
||||
static char line[150]; // Storage for a line
|
||||
static char title[150]; // Remember the title
|
||||
static char *search_string = NULL; // The search string
|
||||
static wxChar *poem_buffer; // Storage for each poem
|
||||
static wxChar line[150]; // Storage for a line
|
||||
static wxChar title[150]; // Remember the title
|
||||
static wxChar *search_string = NULL; // The search string
|
||||
static int pages[30]; // For multipage poems -
|
||||
// store the start of each page
|
||||
static long last_poem_start = 0; // Start of last found poem
|
||||
@@ -88,9 +88,9 @@ static int XPos; // Startup X position
|
||||
static int YPos; // Startup Y position
|
||||
static int pointSize = 12; // Font size
|
||||
|
||||
static char *index_filename = NULL; // Index filename
|
||||
static char *data_filename = NULL; // Data filename
|
||||
static char error_buf[300]; // Error message buffer
|
||||
static wxChar *index_filename = NULL; // Index filename
|
||||
static wxChar *data_filename = NULL; // Data filename
|
||||
static wxChar error_buf[300]; // Error message buffer
|
||||
static bool loaded_ok = FALSE; // Poem loaded ok
|
||||
static bool index_ok = FALSE; // Index loaded ok
|
||||
|
||||
@@ -115,19 +115,19 @@ wxPen *WhitePen = NULL;
|
||||
// Backing bitmap
|
||||
wxBitmap *backingBitmap = NULL;
|
||||
|
||||
void PoetryError(char *, char *caption="wxPoem Error");
|
||||
void PoetryNotify(char *Msg, char *caption="wxPoem");
|
||||
void PoetryError(wxChar *, wxChar *caption=_T("wxPoem Error"));
|
||||
void PoetryNotify(wxChar *Msg, wxChar *caption=_T("wxPoem"));
|
||||
void TryLoadIndex();
|
||||
bool LoadPoem(char *, long);
|
||||
bool LoadPoem(wxChar *, long);
|
||||
int GetIndex();
|
||||
int LoadIndex(char *);
|
||||
int LoadIndex(wxChar *);
|
||||
bool Compile(void);
|
||||
void WritePreferences();
|
||||
void ReadPreferences();
|
||||
void FindMax(int *max_thing, int thing);
|
||||
void CreateFonts();
|
||||
#ifdef __WXMSW__
|
||||
void CopyToClipboard(HWND, char *);
|
||||
void CopyToClipboard(HWND, wxChar *);
|
||||
#endif
|
||||
|
||||
wxMenu *popupMenu = NULL;
|
||||
@@ -180,7 +180,7 @@ void MainWindow::ScanBuffer(wxDC *dc, bool DrawIt, int *max_x, int *max_y)
|
||||
int x = 10;
|
||||
int y = 0;
|
||||
int j;
|
||||
char *line_ptr;
|
||||
wxChar *line_ptr;
|
||||
int curr_width = 0;
|
||||
bool page_break = FALSE;
|
||||
|
||||
@@ -284,8 +284,8 @@ void MainWindow::ScanBuffer(wxDC *dc, bool DrawIt, int *max_x, int *max_y)
|
||||
dc->SetFont(* BoldFont);
|
||||
line_ptr = line+3;
|
||||
|
||||
strcpy(title, line_ptr);
|
||||
strcat(title, " (cont'd)");
|
||||
wxStrcpy(title, line_ptr);
|
||||
wxStrcat(title, _T(" (cont'd)"));
|
||||
|
||||
dc->GetTextExtent(line_ptr, &xx, &yy);
|
||||
FindMax(&curr_width, (int)xx);
|
||||
@@ -348,7 +348,7 @@ void MainWindow::ScanBuffer(wxDC *dc, bool DrawIt, int *max_x, int *max_y)
|
||||
// Write (cont'd)
|
||||
if (page_break)
|
||||
{
|
||||
char *cont = "(cont'd)";
|
||||
wxChar *cont = _T("(cont'd)");
|
||||
|
||||
dc->SetFont(* NormalFont);
|
||||
|
||||
@@ -506,8 +506,8 @@ void MainWindow::Search(bool ask)
|
||||
|
||||
if (ask || !search_string)
|
||||
{
|
||||
wxString s = wxGetTextFromUser("Enter search string", "Search", (const char*) search_string);
|
||||
if (s != "")
|
||||
wxString s = wxGetTextFromUser( _T("Enter search string"), _T("Search"), (const wxChar*) search_string);
|
||||
if (s != wxEmptyString)
|
||||
{
|
||||
if (search_string) delete[] search_string;
|
||||
search_string = copystring(s);
|
||||
@@ -531,16 +531,16 @@ void MainWindow::Search(bool ask)
|
||||
else
|
||||
{
|
||||
last_poem_start = 0;
|
||||
PoetryNotify("Search string not found.");
|
||||
PoetryNotify(_T("Search string not found."));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Copy a string to the clipboard
|
||||
#ifdef __WXMSW__
|
||||
void CopyToClipboard(HWND handle, char *s)
|
||||
void CopyToClipboard(HWND handle, wxChar *s)
|
||||
{
|
||||
int length = strlen(s);
|
||||
int length = wxStrlen(s);
|
||||
HANDLE hGlobalMemory = GlobalAlloc(GHND, (DWORD) length + 1);
|
||||
if (hGlobalMemory)
|
||||
{
|
||||
@@ -584,15 +584,15 @@ void CopyToClipboard(HWND handle, char *s)
|
||||
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
poem_buffer = new char[buf_size];
|
||||
poem_buffer = new wxChar[buf_size];
|
||||
|
||||
GreyPen = new wxPen("LIGHT GREY", THICK_LINE_WIDTH, wxSOLID);
|
||||
DarkGreyPen = new wxPen("GREY", THICK_LINE_WIDTH, wxSOLID);
|
||||
WhitePen = new wxPen("WHITE", THICK_LINE_WIDTH, wxSOLID);
|
||||
GreyPen = new wxPen(_T("LIGHT GREY"), THICK_LINE_WIDTH, wxSOLID);
|
||||
DarkGreyPen = new wxPen(_T("GREY"), THICK_LINE_WIDTH, wxSOLID);
|
||||
WhitePen = new wxPen(_T("WHITE"), THICK_LINE_WIDTH, wxSOLID);
|
||||
|
||||
#if wxUSE_HELP
|
||||
HelpController = new wxHelpController();
|
||||
HelpController->Initialize("wxpoem");
|
||||
HelpController->Initialize(_T("wxpoem"));
|
||||
#endif // wxUSE_HELP
|
||||
|
||||
CreateFonts();
|
||||
@@ -608,29 +608,29 @@ bool MyApp::OnInit()
|
||||
// randomize();
|
||||
pages[0] = 0;
|
||||
|
||||
TheMainWindow = new MainWindow(NULL, 500, "wxPoem", wxPoint(XPos, YPos), wxSize(100, 100), wxCAPTION|wxMINIMIZE_BOX|wxSYSTEM_MENU);
|
||||
TheMainWindow = new MainWindow(NULL, 500, _T("wxPoem"), wxPoint(XPos, YPos), wxSize(100, 100), wxCAPTION|wxMINIMIZE_BOX|wxSYSTEM_MENU);
|
||||
|
||||
#ifdef wx_x
|
||||
TheMainWindow->SetIcon(Icon("wxpoem"));
|
||||
TheMainWindow->SetIcon(Icon(_T("wxpoem")));
|
||||
#endif
|
||||
|
||||
TheMainWindow->canvas = new MyCanvas(TheMainWindow, 501, wxDefaultPosition, wxDefaultSize);
|
||||
|
||||
popupMenu = new wxMenu;
|
||||
popupMenu->Append(POEM_NEXT, "Next poem/page");
|
||||
popupMenu->Append(POEM_PREVIOUS, "Previous page");
|
||||
popupMenu->Append(POEM_NEXT, _T("Next poem/page"));
|
||||
popupMenu->Append(POEM_PREVIOUS, _T("Previous page"));
|
||||
popupMenu->AppendSeparator();
|
||||
popupMenu->Append(POEM_SEARCH, "Search");
|
||||
popupMenu->Append(POEM_NEXT_MATCH, "Next match");
|
||||
popupMenu->Append(POEM_COPY, "Copy to clipboard");
|
||||
popupMenu->Append(POEM_MINIMIZE, "Minimize");
|
||||
popupMenu->Append(POEM_SEARCH, _T("Search"));
|
||||
popupMenu->Append(POEM_NEXT_MATCH, _T("Next match"));
|
||||
popupMenu->Append(POEM_COPY, _T("Copy to clipboard"));
|
||||
popupMenu->Append(POEM_MINIMIZE, _T("Minimize"));
|
||||
popupMenu->AppendSeparator();
|
||||
popupMenu->Append(POEM_BIGGER_TEXT, "Bigger text");
|
||||
popupMenu->Append(POEM_SMALLER_TEXT, "Smaller text");
|
||||
popupMenu->Append(POEM_BIGGER_TEXT, _T("Bigger text"));
|
||||
popupMenu->Append(POEM_SMALLER_TEXT, _T("Smaller text"));
|
||||
popupMenu->AppendSeparator();
|
||||
popupMenu->Append(POEM_ABOUT, "About wxPoem");
|
||||
popupMenu->Append(POEM_ABOUT, _T("About wxPoem"));
|
||||
popupMenu->AppendSeparator();
|
||||
popupMenu->Append(POEM_EXIT, "Exit");
|
||||
popupMenu->Append(POEM_EXIT, _T("Exit"));
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
@@ -639,16 +639,16 @@ bool MyApp::OnInit()
|
||||
}
|
||||
else
|
||||
{
|
||||
index_filename = DEFAULT_POETRY_IND;
|
||||
data_filename = DEFAULT_POETRY_DAT;
|
||||
index_filename = _T(DEFAULT_POETRY_IND);
|
||||
data_filename = _T(DEFAULT_POETRY_DAT);
|
||||
}
|
||||
TryLoadIndex();
|
||||
|
||||
#ifdef __WXMSW__
|
||||
Corner1 = new wxIcon("icon_1");
|
||||
Corner2 = new wxIcon("icon_2");
|
||||
Corner3 = new wxIcon("icon_3");
|
||||
Corner4 = new wxIcon("icon_4");
|
||||
Corner1 = new wxIcon(_T("icon_1"));
|
||||
Corner2 = new wxIcon(_T("icon_2"));
|
||||
Corner3 = new wxIcon(_T("icon_3"));
|
||||
Corner4 = new wxIcon(_T("icon_4"));
|
||||
#endif
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXX11__)
|
||||
Corner1 = new wxIcon( corner1_xpm );
|
||||
@@ -799,31 +799,34 @@ void MyCanvas::OnChar(wxKeyEvent& event)
|
||||
}
|
||||
|
||||
// Load index file
|
||||
int LoadIndex(char *file_name)
|
||||
int LoadIndex(wxChar *file_name)
|
||||
{
|
||||
long data;
|
||||
FILE *index_file;
|
||||
|
||||
int i = 0;
|
||||
char buf[100];
|
||||
wxChar buf[100];
|
||||
|
||||
if (file_name)
|
||||
sprintf(buf, "%s.idx", file_name);
|
||||
if (! (file_name && (index_file = fopen(buf, "r"))))
|
||||
if (file_name == NULL)
|
||||
return 0;
|
||||
else
|
||||
{
|
||||
fscanf(index_file, "%ld", &nitems);
|
||||
|
||||
wxSprintf(buf, _T("%s.idx"), file_name);
|
||||
|
||||
index_file = wxFopen(buf, _T("r"));
|
||||
if (index_file == NULL)
|
||||
return 0;
|
||||
|
||||
wxFscanf(index_file, _T("%ld"), &nitems);
|
||||
|
||||
for (i = 0; i < nitems; i++)
|
||||
{
|
||||
fscanf(index_file, "%ld", &data);
|
||||
wxFscanf(index_file, _T("%ld"), &data);
|
||||
poem_index[i] = data;
|
||||
}
|
||||
|
||||
fclose(index_file);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Get index
|
||||
@@ -834,7 +837,7 @@ int GetIndex()
|
||||
indexn = (int)(rand() % nitems);
|
||||
|
||||
if ((indexn < 0) || (indexn > nitems))
|
||||
{ PoetryError("No such poem!");
|
||||
{ PoetryError(_T("No such poem!"));
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
@@ -845,11 +848,9 @@ int GetIndex()
|
||||
void ReadPreferences()
|
||||
{
|
||||
#if wxUSE_RESOURCES
|
||||
#if wxUSE_RESOURCES
|
||||
wxGetResource("wxPoem", "FontSize", &pointSize);
|
||||
wxGetResource("wxPoem", "X", &XPos);
|
||||
wxGetResource("wxPoem", "Y", &YPos);
|
||||
#endif
|
||||
wxGetResource(_T("wxPoem"), _T("FontSize"), &pointSize);
|
||||
wxGetResource(_T("wxPoem"), _T("X"), &XPos);
|
||||
wxGetResource(_T("wxPoem"), _T("Y"), &YPos);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -859,11 +860,9 @@ void WritePreferences()
|
||||
#ifdef __WXMSW__
|
||||
TheMainWindow->GetPosition(&XPos, &YPos);
|
||||
#if wxUSE_RESOURCES
|
||||
#if wxUSE_RESOURCES
|
||||
wxWriteResource("wxPoem", "FontSize", pointSize);
|
||||
wxWriteResource("wxPoem", "X", XPos);
|
||||
wxWriteResource("wxPoem", "Y", YPos);
|
||||
#endif
|
||||
wxWriteResource(_T("wxPoem"), _T("FontSize"), pointSize);
|
||||
wxWriteResource(_T("wxPoem"), _T("X"), XPos);
|
||||
wxWriteResource(_T("wxPoem"), _T("Y"), YPos);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@@ -871,30 +870,36 @@ void WritePreferences()
|
||||
// Load a poem from given file, at given point in file.
|
||||
// If position is > -1, use this for the position in the
|
||||
// file, otherwise use index[index_ptr] to find the correct position.
|
||||
bool LoadPoem(char *file_name, long position)
|
||||
bool LoadPoem(wxChar *file_name, long position)
|
||||
{
|
||||
int ch = 0;
|
||||
int i = 0;
|
||||
// int j = 0;
|
||||
// int indexn = 0;
|
||||
char buf[100];
|
||||
wxChar buf[100];
|
||||
long data;
|
||||
FILE *data_file;
|
||||
|
||||
paging = FALSE;
|
||||
current_page = 0;
|
||||
|
||||
if (file_name)
|
||||
sprintf(buf, "%s.dat", file_name);
|
||||
|
||||
if (! (file_name && (data_file = fopen(buf, "r"))))
|
||||
if (file_name == NULL)
|
||||
{
|
||||
sprintf(error_buf, "Data file %s not found.", buf);
|
||||
wxSprintf(error_buf, _T("Error in Poem loading."));
|
||||
PoetryError(error_buf);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
|
||||
wxSprintf(buf, _T("%s.dat"), file_name);
|
||||
data_file = wxFopen(buf, _T("r"));
|
||||
|
||||
if (data_file == NULL)
|
||||
{
|
||||
wxSprintf(error_buf, _T("Data file %s not found."), buf);
|
||||
PoetryError(error_buf);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (position > -1)
|
||||
data = position;
|
||||
else
|
||||
@@ -919,7 +924,7 @@ bool LoadPoem(char *file_name, long position)
|
||||
|
||||
if (i == buf_size)
|
||||
{
|
||||
sprintf(error_buf, "%s", "Poetry buffer exceeded.");
|
||||
wxSprintf(error_buf, _T("%s"), _T("Poetry buffer exceeded."));
|
||||
PoetryError(error_buf);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -927,7 +932,6 @@ bool LoadPoem(char *file_name, long position)
|
||||
fclose(data_file);
|
||||
poem_buffer[i-1] = 0;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// Do the search
|
||||
@@ -939,12 +943,12 @@ long MainWindow::DoSearch(void)
|
||||
FILE *file;
|
||||
long i = 0;
|
||||
int ch = 0;
|
||||
char buf[100];
|
||||
wxChar buf[100];
|
||||
long find_start;
|
||||
long previous_poem_start;
|
||||
|
||||
bool found = FALSE;
|
||||
int search_length = strlen(search_string);
|
||||
int search_length = wxStrlen(search_string);
|
||||
|
||||
if (same_search)
|
||||
{
|
||||
@@ -959,11 +963,12 @@ long MainWindow::DoSearch(void)
|
||||
}
|
||||
|
||||
if (data_filename)
|
||||
sprintf(buf, "%s.dat", data_filename);
|
||||
wxSprintf(buf, _T("%s.dat"), data_filename);
|
||||
|
||||
if (! (data_filename && (file = fopen(buf, "r"))))
|
||||
file = wxFopen(buf, _T("r"));
|
||||
if (! (data_filename && file))
|
||||
{
|
||||
sprintf(error_buf, "Poetry data file %s not found\n", buf);
|
||||
wxSprintf(error_buf, _T("Poetry data file %s not found\n"), buf);
|
||||
PoetryError(error_buf);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1013,19 +1018,19 @@ void TryLoadIndex()
|
||||
index_ok = (LoadIndex(index_filename) != 0);
|
||||
if (!index_ok || (nitems == 0))
|
||||
{
|
||||
PoetryError("Index file not found; will compile new one", "wxPoem");
|
||||
PoetryError(_T("Index file not found; will compile new one"), _T("wxPoem"));
|
||||
index_ok = Compile();
|
||||
}
|
||||
}
|
||||
|
||||
// Error message
|
||||
void PoetryError(char *msg, char *caption)
|
||||
void PoetryError(wxChar *msg, wxChar *caption)
|
||||
{
|
||||
wxMessageBox(msg, caption, wxOK|wxICON_EXCLAMATION);
|
||||
}
|
||||
|
||||
// Notification (change icon to something appropriate!)
|
||||
void PoetryNotify(char *Msg, char *caption)
|
||||
void PoetryNotify(wxChar *Msg, wxChar *caption)
|
||||
{
|
||||
wxMessageBox(Msg, caption, wxOK | wxICON_INFORMATION);
|
||||
}
|
||||
@@ -1038,14 +1043,15 @@ bool Compile(void)
|
||||
long i = 0;
|
||||
int j;
|
||||
int ch = 0;
|
||||
char buf[100];
|
||||
wxChar buf[100];
|
||||
|
||||
if (data_filename)
|
||||
sprintf(buf, "%s.dat", data_filename);
|
||||
wxSprintf(buf, _T("%s.dat"), data_filename);
|
||||
|
||||
if (! (data_filename && (file = fopen(buf, "r"))))
|
||||
file = wxFopen(buf, _T("r"));
|
||||
if (! (data_filename && file))
|
||||
{
|
||||
sprintf(error_buf, "Poetry data file %s not found\n", buf);
|
||||
wxSprintf(error_buf, _T("Poetry data file %s not found\n"), buf);
|
||||
PoetryError(error_buf);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1073,20 +1079,22 @@ bool Compile(void)
|
||||
fclose(file);
|
||||
|
||||
if (index_filename)
|
||||
sprintf(buf, "%s.idx", index_filename);
|
||||
if (! (data_filename && (file = fopen(buf, "w"))))
|
||||
wxSprintf(buf, _T("%s.idx"), index_filename);
|
||||
|
||||
file = wxFopen(buf, _T("w"));
|
||||
if (! (data_filename && file))
|
||||
{
|
||||
sprintf(error_buf, "Poetry index file %s cannot be created\n", buf);
|
||||
wxSprintf(error_buf, _T("Poetry index file %s cannot be created\n"), buf);
|
||||
PoetryError(error_buf);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
fprintf(file, "%ld\n\n", nitems);
|
||||
wxFprintf(file, _T("%ld\n\n"), nitems);
|
||||
for (j = 0; j < nitems; j++)
|
||||
fprintf(file, "%ld\n", poem_index[j]);
|
||||
wxFprintf(file, _T("%ld\n"), poem_index[j]);
|
||||
|
||||
fclose(file);
|
||||
PoetryNotify("Poetry index compiled.");
|
||||
PoetryNotify(_T("Poetry index compiled."));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1143,15 +1151,15 @@ void MainWindow::OnPopup(wxCommandEvent& event)
|
||||
case POEM_HELP_CONTENTS:
|
||||
{
|
||||
#if wxUSE_HELP
|
||||
HelpController->LoadFile("wxpoem");
|
||||
HelpController->LoadFile(_T("wxpoem"));
|
||||
HelpController->DisplayContents();
|
||||
#endif // wxUSE_HELP
|
||||
break;
|
||||
}
|
||||
case POEM_ABOUT:
|
||||
{
|
||||
(void)wxMessageBox("wxPoem Version 1.1\nJulian Smart (c) 1995",
|
||||
"About wxPoem", wxOK, TheMainWindow);
|
||||
(void)wxMessageBox(_T("wxPoem Version 1.1\nJulian Smart (c) 1995"),
|
||||
_T("About wxPoem"), wxOK, TheMainWindow);
|
||||
break;
|
||||
}
|
||||
case POEM_EXIT:
|
||||
|
Reference in New Issue
Block a user