X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b46e869676813430c8fbf0d5828005f1b898d985..2a36259f27f58de31cdd66d6c5176e776fc25df3:/utils/dialoged/src/reseditr.cpp diff --git a/utils/dialoged/src/reseditr.cpp b/utils/dialoged/src/reseditr.cpp index 401428b1bc..6ec0f160a3 100644 --- a/utils/dialoged/src/reseditr.cpp +++ b/utils/dialoged/src/reseditr.cpp @@ -44,20 +44,6 @@ #include #include -#if wxUSE_IOSTREAMH -#if defined(__WXMSW__) && !defined(__GNUWIN32__) -#include -#else -#include -#endif -#else -#include -#endif - -#ifdef __WXMSW__ -#include -#endif - #ifdef __WXMSW__ #include "wx/help.h" #endif @@ -68,10 +54,9 @@ #include "edtree.h" #include "edlist.h" -static void ObjectMenuProc(wxMenu& menu, wxCommandEvent& event); wxResourceManager *wxResourceManager::sm_currentResourceManager = NULL; -#ifdef __WXGTK__ +#if defined(__WXGTK__) || defined(__WXMOTIF__) #include "bitmaps/load.xpm" #include "bitmaps/save.xpm" #include "bitmaps/new.xpm" @@ -152,13 +137,14 @@ wxResourceManager::~wxResourceManager() bool wxResourceManager::Initialize() { // Set up the resource filename for each platform. + // TODO: This shold be replaced by wxConfig usage. #ifdef __WXMSW__ // dialoged.ini in the Windows directory - char buf[256]; - GetWindowsDirectory(buf, 256); - strcat(buf, "\\dialoged.ini"); - m_optionsResourceFilename = buf; -#elif defined(__WXGTK__) + wxString windowsDir = wxGetOSDirectory(); + windowsDir += "\\dialoged.ini" ; + + m_optionsResourceFilename = windowsDir; +#elif defined(__WXGTK__) || defined(__WXMOTIF__) wxGetHomeDir( &m_optionsResourceFilename ); m_optionsResourceFilename += "/.dialogedrc"; #else @@ -172,7 +158,7 @@ bool wxResourceManager::Initialize() m_helpController->Initialize("dialoged"); #endif - m_popupMenu = new wxMenu("", (wxFunction)ObjectMenuProc); + m_popupMenu = new wxMenu; m_popupMenu->Append(OBJECT_MENU_EDIT, "Edit properties"); m_popupMenu->Append(OBJECT_MENU_DELETE, "Delete object"); @@ -181,7 +167,7 @@ bool wxResourceManager::Initialize() #ifdef __WXMSW__ m_bitmapImage = new wxBitmap("WXWINBMP", wxBITMAP_TYPE_BMP_RESOURCE); #endif -#ifdef __WXGTK__ +#if defined(__WXGTK__) || defined(__WXMOTIF__) m_bitmapImage = new wxBitmap( wxwin_xpm ); #endif } @@ -238,14 +224,14 @@ bool wxResourceManager::SaveOptions() { wxConfig config("DialogEd", "wxWindows"); - config.Write("editorWindowX", m_resourceEditorWindowSize.x); - config.Write("editorWindowY", m_resourceEditorWindowSize.y); - config.Write("editorWindowWidth", m_resourceEditorWindowSize.width); - config.Write("editorWindowHeight", m_resourceEditorWindowSize.height); - config.Write("propertyWindowX", m_propertyWindowSize.x); - config.Write("propertyWindowY", m_propertyWindowSize.y); - config.Write("propertyWindowWidth", m_propertyWindowSize.width); - config.Write("propertyWindowHeight", m_propertyWindowSize.height); + config.Write("editorWindowX", (long) m_resourceEditorWindowSize.x); + config.Write("editorWindowY", (long) m_resourceEditorWindowSize.y); + config.Write("editorWindowWidth", (long) m_resourceEditorWindowSize.width); + config.Write("editorWindowHeight", (long) m_resourceEditorWindowSize.height); + config.Write("propertyWindowX", (long) m_propertyWindowSize.x); + config.Write("propertyWindowY", (long) m_propertyWindowSize.y); + config.Write("propertyWindowWidth", (long) m_propertyWindowSize.width); + config.Write("propertyWindowHeight", (long) m_propertyWindowSize.height); /* wxWriteResource("DialogEd", "editorWindowX", m_resourceEditorWindowSize.x, m_optionsResourceFilename.GetData()); wxWriteResource("DialogEd", "editorWindowY", m_resourceEditorWindowSize.y, m_optionsResourceFilename.GetData()); @@ -322,8 +308,8 @@ bool wxResourceManager::ShowResourceEditor(bool show, wxWindow *WXUNUSED(parent) c->right.SameAs (m_editorFrame, wxRight, 0); c->bottom.SameAs (m_editorFrame, wxBottom, 0); c->width.Unconstrained(); -#ifdef __WXGTK__ - c->height.Absolute(105); +#if defined(__WXGTK__) || defined(__WXMOTIF__) + c->height.Absolute(120); #else c->height.Absolute(60); #endif @@ -339,11 +325,8 @@ bool wxResourceManager::ShowResourceEditor(bool show, wxWindow *WXUNUSED(parent) } else { - wxFrame *fr = m_editorFrame; - if (m_editorFrame->OnClose()) + if (m_editorFrame->Close()) { - fr->Show(FALSE); - delete fr; m_editorFrame = NULL; m_editorPanel = NULL; } @@ -394,7 +377,7 @@ bool wxResourceManager::Save(const wxString& filename) bool wxResourceManager::SaveAs() { wxString s(wxFileSelector("Save resource file", wxPathOnly(WXSTRINGCAST m_currentFilename), wxFileNameFromPath(WXSTRINGCAST m_currentFilename), - "wxr", "*.wxr", wxSAVE | wxOVERWRITE_PROMPT)); + "wxr", "*.wxr", wxSAVE | wxOVERWRITE_PROMPT, wxTheApp->GetTopWindow())); if (s.IsNull() || s == "") return FALSE; @@ -437,7 +420,7 @@ bool wxResourceManager::New(bool loadFromFile, const wxString& filename) wxString str = filename; if (str == wxString("")) { - wxString f(wxFileSelector("Open resource file", NULL, NULL, "wxr", "*.wxr", 0, NULL)); + wxString f(wxFileSelector("Open resource file", NULL, NULL, "wxr", "*.wxr", 0, wxTheApp->GetTopWindow())); if (!f.IsNull() && f != "") str = f; else @@ -741,7 +724,11 @@ wxResourceEditorScrolledWindow *wxResourceManager::OnCreateEditorPanel(wxFrame * { wxResourceEditorScrolledWindow *panel = new wxResourceEditorScrolledWindow(parent, wxDefaultPosition, wxDefaultSize, // wxSUNKEN_BORDER|wxCLIP_CHILDREN); +#ifdef __WXMOTIF__ + wxBORDER); +#else wxSUNKEN_BORDER); +#endif panel->SetScrollbars(10, 10, 100, 100); @@ -766,7 +753,7 @@ wxToolBar *wxResourceManager::OnCreateToolBar(wxFrame *parent) wxBitmap ToolbarToFrontBitmap("TOFRONTTOOL"); wxBitmap ToolbarHelpBitmap("HELPTOOL"); #endif -#ifdef __WXGTK__ +#if defined(__WXGTK__) || defined(__WXMOTIF__) wxBitmap ToolbarLoadBitmap( load_xpm ); wxBitmap ToolbarSaveBitmap( save_xpm); wxBitmap ToolbarNewBitmap( new_xpm ); @@ -798,47 +785,47 @@ wxToolBar *wxResourceManager::OnCreateToolBar(wxFrame *parent) int currentX = gap; toolbar->AddSeparator(); toolbar->AddTool(TOOLBAR_NEW, ToolbarNewBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "New dialog"); + FALSE, currentX, -1, NULL, "New dialog"); currentX += width + dx; toolbar->AddTool(TOOLBAR_LOAD_FILE, ToolbarLoadBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Load"); + FALSE, currentX, -1, NULL, "Load"); currentX += width + dx; toolbar->AddTool(TOOLBAR_SAVE_FILE, ToolbarSaveBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Save"); + FALSE, currentX, -1, NULL, "Save"); currentX += width + dx + gap; toolbar->AddSeparator(); toolbar->AddTool(TOOLBAR_FORMAT_HORIZ, ToolbarVertBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Horizontal align"); + FALSE, currentX, -1, NULL, "Horizontal align"); currentX += width + dx; toolbar->AddTool(TOOLBAR_FORMAT_VERT_TOP_ALIGN, ToolbarAlignTBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Top align"); + FALSE, currentX, -1, NULL, "Top align"); currentX += width + dx; toolbar->AddTool(TOOLBAR_FORMAT_VERT_BOT_ALIGN, ToolbarAlignBBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Bottom align"); + FALSE, currentX, -1, NULL, "Bottom align"); currentX += width + dx; toolbar->AddTool(TOOLBAR_FORMAT_VERT, ToolbarHorizBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Vertical align"); + FALSE, currentX, -1, NULL, "Vertical align"); currentX += width + dx; toolbar->AddTool(TOOLBAR_FORMAT_HORIZ_LEFT_ALIGN, ToolbarAlignLBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Left align"); + FALSE, currentX, -1, NULL, "Left align"); currentX += width + dx; toolbar->AddTool(TOOLBAR_FORMAT_HORIZ_RIGHT_ALIGN, ToolbarAlignRBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Right align"); + FALSE, currentX, -1, NULL, "Right align"); currentX += width + dx; toolbar->AddTool(TOOLBAR_COPY_SIZE, ToolbarCopySizeBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Copy size"); + FALSE, currentX, -1, NULL, "Copy size"); currentX += width + dx + gap; toolbar->AddSeparator(); toolbar->AddTool(TOOLBAR_TO_FRONT, ToolbarToFrontBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "To front"); + FALSE, currentX, -1, NULL, "To front"); currentX += width + dx; toolbar->AddTool(TOOLBAR_TO_BACK, ToolbarToBackBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "To back"); + FALSE, currentX, -1, NULL, "To back"); currentX += width + dx + gap; toolbar->AddSeparator(); toolbar->AddTool(TOOLBAR_HELP, ToolbarHelpBitmap, wxNullBitmap, - FALSE, (float)currentX, -1, NULL, "Help"); + FALSE, currentX, -1, NULL, "Help"); currentX += width + dx; toolbar->Realize(); @@ -1614,7 +1601,7 @@ wxString wxResourceManager::FindBitmapFilenameForResource(wxItemResource *resour wxItemResource *child = (wxItemResource *)node->Data(); return child->GetName(); - node = node->Next(); + //node = node->Next(); } return wxEmptyString; } @@ -2072,6 +2059,7 @@ BEGIN_EVENT_TABLE(wxResourceEditorFrame, wxFrame) EVT_MENU(RESED_DELETE, wxResourceEditorFrame::OnDeleteSelection) EVT_MENU(RESED_RECREATE, wxResourceEditorFrame::OnRecreateSelection) EVT_MENU(RESED_TEST, wxResourceEditorFrame::OnTest) + EVT_CLOSE(wxResourceEditorFrame::OnCloseWindow) END_EVENT_TABLE() wxResourceEditorFrame::wxResourceEditorFrame(wxResourceManager *resMan, wxFrame *parent, const wxString& title, @@ -2117,14 +2105,14 @@ void wxResourceEditorFrame::OnSaveAs(wxCommandEvent& WXUNUSED(event)) void wxResourceEditorFrame::OnExit(wxCommandEvent& WXUNUSED(event)) { - manager->Clear(TRUE, FALSE) ; - this->Close(); + manager->Clear(TRUE, FALSE) ; + this->Destroy(); } void wxResourceEditorFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { char buf[300]; - sprintf(buf, "wxWindows Dialog Editor %.1f\nAuthor: Julian Smart J.Smart@ed.ac.uk\nJulian Smart (c) 1996", wxDIALOG_EDITOR_VERSION); + sprintf(buf, "wxWindows Dialog Editor %.1f\nAuthor: Julian Smart \nJulian Smart (c) 1996-1999", wxDIALOG_EDITOR_VERSION); wxMessageBox(buf, "About Dialog Editor", wxOK|wxCENTRE); } @@ -2153,15 +2141,18 @@ void wxResourceEditorFrame::OnRecreateSelection(wxCommandEvent& WXUNUSED(event)) manager->RecreateSelection(); } -bool wxResourceEditorFrame::OnClose() +void wxResourceEditorFrame::OnCloseWindow(wxCloseEvent& event) { if (manager->Modified()) { - if (!manager->Clear(TRUE, FALSE)) - return FALSE; + if (!manager->Clear(TRUE, FALSE)) + { + event.Veto(); + return; + } } - if (!Iconized()) + if (!IsIconized()) { int w, h; GetSize(&w, &h); @@ -2177,7 +2168,7 @@ bool wxResourceEditorFrame::OnClose() manager->SetEditorFrame(NULL); manager->SetEditorToolBar(NULL); - return TRUE; + this->Destroy(); } /* @@ -2185,7 +2176,6 @@ bool wxResourceEditorFrame::OnClose() */ BEGIN_EVENT_TABLE(wxResourceEditorScrolledWindow, wxScrolledWindow) - EVT_SCROLL(wxResourceEditorScrolledWindow::OnScroll) EVT_PAINT(wxResourceEditorScrolledWindow::OnPaint) END_EVENT_TABLE() @@ -2196,21 +2186,12 @@ wxResourceEditorScrolledWindow::wxResourceEditorScrolledWindow(wxWindow *parent, m_marginX = 10; m_marginY = 40; m_childWindow = NULL; -} -wxResourceEditorScrolledWindow::~wxResourceEditorScrolledWindow() -{ + SetBackgroundColour(* wxWHITE); } -void wxResourceEditorScrolledWindow::OnScroll(wxScrollEvent& event) +wxResourceEditorScrolledWindow::~wxResourceEditorScrolledWindow() { - wxScrolledWindow::OnScroll(event); - - int x, y; - ViewStart(& x, & y); - - if (m_childWindow) - m_childWindow->Move(m_marginX + (- x * 10), m_marginY + (- y * 10)); } void wxResourceEditorScrolledWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) @@ -2245,9 +2226,9 @@ void wxResourceEditorScrolledWindow::DrawTitle(wxDC& dc) } // Popup menu callback -void ObjectMenuProc(wxMenu& menu, wxCommandEvent& event) +void ObjectMenuProc(wxMenu *menu, wxCommandEvent& event) { - wxWindow *data = (wxWindow *)menu.GetClientData(); + wxWindow *data = (wxWindow *)menu->GetClientData(); if (!data) return; @@ -2275,19 +2256,10 @@ void ObjectMenuProc(wxMenu& menu, wxCommandEvent& event) * */ -#ifdef __WXGTK__ // I don't dare to delete it... - BEGIN_EVENT_TABLE(EditorToolBar, wxToolBar) +// EVT_PAINT(EditorToolBar::OnPaint) END_EVENT_TABLE() -#else - -BEGIN_EVENT_TABLE(EditorToolBar, wxToolBar) - EVT_PAINT(EditorToolBar::OnPaint) -END_EVENT_TABLE() - -#endif - EditorToolBar::EditorToolBar(wxFrame *frame, const wxPoint& pos, const wxSize& size, long style): wxToolBar(frame, -1, pos, size, style)