Patch level : 2.0 230 e passa
Files correlati : xvaga Ricompilazione Demo : [ ] Commento : Aggiunto supporto per le varie MessageBox git-svn-id: svn://10.65.10.50/trunk@10933 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3b64a2e5fe
commit
bce0bb3fcc
120
xvaga/xvaga.cpp
120
xvaga/xvaga.cpp
@ -748,8 +748,11 @@ void TwxWindow::OnChar(wxKeyEvent& event)
|
|||||||
k = toupper(k);
|
k = toupper(k);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
event.Skip();
|
if (strchr("+-", k) == NULL) // Aggiungere qui vari testi eventuali
|
||||||
return;
|
{
|
||||||
|
event.Skip();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
e.v.chr.ch = k;
|
e.v.chr.ch = k;
|
||||||
@ -1155,7 +1158,6 @@ void xvt_app_create(int argc, char **argv, unsigned long flags,
|
|||||||
Title[0] = "&File";
|
Title[0] = "&File";
|
||||||
Menus[0] = new wxMenu;
|
Menus[0] = new wxMenu;
|
||||||
Menus[0]->Append(M_FILE_NEW, "Scelta &Ditta...");
|
Menus[0]->Append(M_FILE_NEW, "Scelta &Ditta...");
|
||||||
Menus[0]->Append(M_FILE_REVERT, "Impostazione &Parametri...");
|
|
||||||
Menus[0]->AppendSeparator();
|
Menus[0]->AppendSeparator();
|
||||||
Menus[0]->Append(M_FILE_PG_SETUP, "&Impostazione Stampante...");
|
Menus[0]->Append(M_FILE_PG_SETUP, "&Impostazione Stampante...");
|
||||||
Menus[0]->Append(M_FILE_PRINT, "&Stampa");
|
Menus[0]->Append(M_FILE_PRINT, "&Stampa");
|
||||||
@ -1336,50 +1338,87 @@ void xvt_debug_printf(const char* fmt, ...)
|
|||||||
// Common dialogs
|
// Common dialogs
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer)
|
static wxString GetMainTitle()
|
||||||
{
|
{
|
||||||
SORRY_BOX();
|
wxString strTitle;
|
||||||
return RESP_DEFAULT;
|
if (_task_win != NULL)
|
||||||
|
{
|
||||||
|
strTitle = _task_win->GetTitle();
|
||||||
|
const int space = strTitle.Find(" -");
|
||||||
|
if (space > 0)
|
||||||
|
strTitle = strTitle.Left(space);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
strTitle = "CAMPO";
|
||||||
|
return strTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
void xvt_dm_post_error(char *fmt)
|
ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* fmt)
|
||||||
{ wxLogError(fmt); }
|
{
|
||||||
|
int nFlags = wxCENTRE | wxICON_QUESTION | wxYES_NO;
|
||||||
|
if (Btn3 == NULL)
|
||||||
|
{
|
||||||
|
if (stricmp(Btn1, "no") == 0)
|
||||||
|
nFlags |= wxNO_DEFAULT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
nFlags |= wxCANCEL;
|
||||||
|
|
||||||
void xvt_dm_post_fatal_exit(char *fmt)
|
int answer = wxMessageBox(fmt, GetMainTitle(), nFlags);
|
||||||
{ wxLogFatalError(fmt); }
|
return answer == wxYES ? RESP_DEFAULT : (answer == wxNO ? RESP_2 : RESP_3);
|
||||||
|
}
|
||||||
|
|
||||||
|
void xvt_dm_post_error(const char *fmt)
|
||||||
|
{
|
||||||
|
wxMessageBox(fmt, GetMainTitle(), wxOK | wxCENTRE | wxICON_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
void xvt_dm_post_fatal_exit(const char *fmt)
|
||||||
|
{
|
||||||
|
wxMessageBox(fmt, GetMainTitle(), wxOK | wxCENTRE | wxICON_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
static wxString MakeFileName(const wxChar* name, const wxChar* ext)
|
||||||
|
{
|
||||||
|
wxString f = name;
|
||||||
|
if (ext && *ext)
|
||||||
|
{
|
||||||
|
if (*ext != '.')
|
||||||
|
f += '.';
|
||||||
|
f += ext;
|
||||||
|
}
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
static FL_STATUS xvt_dm_post_file_ask(FILE_SPEC *fsp, const char *msg, int flags)
|
||||||
|
{
|
||||||
|
wxString path = fsp->dir.path;
|
||||||
|
wxString name = MakeFileName(fsp->name, fsp->type);
|
||||||
|
wxString extension = fsp->type;
|
||||||
|
wxString mask = MakeFileName("*", fsp->type);
|
||||||
|
|
||||||
|
wxString selectedname = wxFileSelector(msg, path, name, extension , mask, flags);
|
||||||
|
if (selectedname.IsEmpty())
|
||||||
|
return FL_CANCEL;
|
||||||
|
|
||||||
|
wxFileName::SplitPath(selectedname, &path, &name, &extension);
|
||||||
|
strcpy(fsp->dir.path, path);
|
||||||
|
strcpy(fsp->name, MakeFileName(name, extension));
|
||||||
|
strcpy(fsp->type, extension);
|
||||||
|
|
||||||
|
return FL_OK;
|
||||||
|
}
|
||||||
|
|
||||||
FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg)
|
FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg)
|
||||||
{
|
{
|
||||||
const int flags = wxOPEN | wxHIDE_READONLY | wxFILE_MUST_EXIST;
|
const int flags = wxOPEN | wxHIDE_READONLY | wxFILE_MUST_EXIST;
|
||||||
wxString path = fsp->dir.path;
|
return xvt_dm_post_file_ask(fsp, msg, flags);
|
||||||
wxString name = fsp->name;
|
|
||||||
wxString extension = fsp->type;
|
|
||||||
wxString selectedname = wxFileSelector(msg, path, name, extension , "*.*", flags);
|
|
||||||
if (selectedname.IsEmpty())
|
|
||||||
return FL_CANCEL;
|
|
||||||
|
|
||||||
wxSplitPath(selectedname, &path, &name, &extension);
|
|
||||||
strcpy(fsp->dir.path, path);
|
|
||||||
strcpy(fsp->name, name);
|
|
||||||
strcpy(fsp->type, extension);
|
|
||||||
return FL_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FL_STATUS xvt_dm_post_file_save(FILE_SPEC *fsp, const char *msg)
|
FL_STATUS xvt_dm_post_file_save(FILE_SPEC *fsp, const char *msg)
|
||||||
{
|
{
|
||||||
const int flags = wxSAVE | wxHIDE_READONLY;
|
const int flags = wxSAVE | wxHIDE_READONLY;
|
||||||
wxString path = fsp->dir.path;
|
return xvt_dm_post_file_ask(fsp, msg, flags);
|
||||||
wxString name = fsp->name;
|
|
||||||
wxString extension = fsp->type;
|
|
||||||
wxString selectedname = wxFileSelector(msg, path, name, extension , "*.*", flags);
|
|
||||||
if (selectedname.IsEmpty())
|
|
||||||
return FL_CANCEL;
|
|
||||||
|
|
||||||
wxSplitPath(selectedname, &path, &name, &extension);
|
|
||||||
strcpy(fsp->dir.path, path);
|
|
||||||
strcpy(fsp->name, name);
|
|
||||||
strcpy(fsp->type, extension);
|
|
||||||
return FL_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, unsigned long reserved)
|
BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, unsigned long reserved)
|
||||||
@ -1402,8 +1441,15 @@ BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, un
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
void xvt_dm_post_note(char *fmt)
|
void xvt_dm_post_message(const char *fmt)
|
||||||
{ wxLogMessage(fmt); }
|
{
|
||||||
|
wxMessageBox(fmt, GetMainTitle(), wxOK | wxCENTRE | wxICON_INFORMATION);
|
||||||
|
}
|
||||||
|
|
||||||
|
void xvt_dm_post_note(const char *fmt)
|
||||||
|
{
|
||||||
|
wxMessageBox(fmt, GetMainTitle(), wxOK | wxCENTRE | wxICON_EXCLAMATION);
|
||||||
|
}
|
||||||
|
|
||||||
char* xvt_dm_post_string_prompt(const char* message, char* response, int response_len)
|
char* xvt_dm_post_string_prompt(const char* message, char* response, int response_len)
|
||||||
{
|
{
|
||||||
@ -2797,7 +2843,7 @@ MENU_ITEM* xvt_res_get_menu(int rid)
|
|||||||
|
|
||||||
if (rid >= 10000 && rid < 10100)
|
if (rid >= 10000 && rid < 10100)
|
||||||
{
|
{
|
||||||
wxSplitPath(wxGetApp().argv[0], NULL, &strName, NULL);
|
wxFileName::SplitPath(wxGetApp().argv[0], NULL, &strName, NULL);
|
||||||
strName.MakeUpper();
|
strName.MakeUpper();
|
||||||
strName = wxString::Format("/Menu_%s-%X", strName.Left(3), (rid-1)%16);
|
strName = wxString::Format("/Menu_%s-%X", strName.Left(3), (rid-1)%16);
|
||||||
}
|
}
|
||||||
|
@ -55,12 +55,13 @@ void xvt_ctl_set_checked(WINDOW Win, BOOLEAN Check);
|
|||||||
void xvt_debug_printf(const char* fmt, ...);
|
void xvt_debug_printf(const char* fmt, ...);
|
||||||
|
|
||||||
ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer);
|
ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer);
|
||||||
void xvt_dm_post_error(char *fmt);
|
void xvt_dm_post_error(const char *fmt);
|
||||||
void xvt_dm_post_fatal_exit(char *fmt);
|
void xvt_dm_post_fatal_exit(const char *fmt);
|
||||||
FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg);
|
FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg);
|
||||||
FL_STATUS xvt_dm_post_file_save(FILE_SPEC *fsp, const char *msg);
|
FL_STATUS xvt_dm_post_file_save(FILE_SPEC *fsp, const char *msg);
|
||||||
BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, unsigned long reserved);
|
BOOLEAN xvt_dm_post_font_sel(WINDOW win, XVT_FNTID font_id, PRINT_RCD *precp, unsigned long reserved);
|
||||||
void xvt_dm_post_note(char *fmt);
|
void xvt_dm_post_message(const char *fmt);
|
||||||
|
void xvt_dm_post_note(const char *fmt);
|
||||||
BOOLEAN xvt_dm_post_page_setup(PRINT_RCD *precp);
|
BOOLEAN xvt_dm_post_page_setup(PRINT_RCD *precp);
|
||||||
char* xvt_dm_post_string_prompt(const char* message, char* response, int response_len);
|
char* xvt_dm_post_string_prompt(const char* message, char* response, int response_len);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user