/* * SelectIcon - Sets the current icon */ void SelectIcon( short index ) { img_node *node; if (activeImage->imgtype != ICON_IMG) { WImgEditError( WIE_ERR_BAD_IMAGE_TYPE, NULL ); return; } node = GetNthIcon( activeImage->hwnd, index ); if (node) { SelIconUndoStack( activeImage->hwnd, index ); ResetDrawArea( node ); RePositionViewWnd( node ); SetNumColours( 1<<(node->bitcount) ); SetMenus( node ); } else { WImgEditError( WIE_ERR_BAD_SELECTION, NULL ); return; } activeImage = node; DisplayImageText( activeImage ); } /* SelectIcon */
/* * FocusOnImage - Selects one of the mdi children. */ void FocusOnImage( HWND hwnd ) { char current_file[ _MAX_PATH ]; char *text; if (activeImage) { RedrawPrevClip(activeImage->hwnd); SetRectExists( FALSE ); } activeImage = SelectImage( hwnd ); if (!activeImage) { WImgEditError( WIE_ERR_BAD_HWND, WIE_INTERNAL_001 ); return; } ResetViewWindow( activeImage->viewhwnd ); CreateDrawnImage( activeImage ); SetMenus( activeImage ); SetNumColours( 1<<(activeImage->bitcount) ); SetHotSpot( activeImage ); DisplayImageText( activeImage ); CheckForUndo( activeImage ); GetFnameFromPath( activeImage->fname, current_file ); text = (char *) MemAlloc( strlen( IEAppTitle ) + strlen( current_file ) + 3 + 1 ); if( text ) { strcpy( text, IEAppTitle ); strcat( text, " - " ); strcat( text, current_file ); _wpi_setwindowtext( _wpi_getframe(HMainWindow), text ); MemFree( text ); } #ifndef __OS2_PM__ RedrawWindow( hwnd, NULL, NULL, RDW_UPDATENOW ); #endif } /* FocusOnImage */
ASSDrawFrame::ASSDrawFrame( wxApp *app, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxFrame(NULL, wxID_ANY, title, pos, size, style) { m_app = app; m_mgr.SetManagedWindow(this); #ifndef __UNIX__ m_mgr.SetFlags(m_mgr.GetFlags() | wxAUI_MGR_ALLOW_ACTIVE_PANE); #else m_mgr.SetFlags(wxAUI_MGR_ALLOW_FLOATING | wxAUI_MGR_ALLOW_ACTIVE_PANE | wxAUI_MGR_RECTANGLE_HINT); #endif // set the frame icon SetIcon(wxICON(appico)); // Create status bar for the frame CreateStatusBar(3); int statwidths[] = { 64, -1, 64 }; GetStatusBar()->SetStatusWidths(3, statwidths); SetStatusBarPane(1); InitializeDefaultSettings(); // load config configfile = wxFileName(wxStandardPaths::Get().GetUserDataDir(), _T("ASSDraw3.cfg")).GetFullPath(); bool firsttime = !::wxFileExists(configfile); if (firsttime) { wxFileName::Mkdir(wxStandardPaths::Get().GetUserDataDir(), wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL); wxFileOutputStream(configfile).Close(); } wxFileInputStream cfgf(configfile); config = new wxFileConfig(cfgf); // nullify transformdlg transformdlg = NULL; Maximize(true); Show(true); // to get the right client size, must call Show() first // config LoadSettings(); // THE CANVAS m_canvas = new ASSDrawCanvas( this , this ); // shapes library shapelib = new ASSDrawShapeLibrary(this, this); // source text ctrl srctxtctrl = new ASSDrawSrcTxtCtrl(this, this); // settings settingsdlg = new ASSDrawSettingsDialog(this, this); settingsdlg->Init(); SetMenus(); SetToolBars(); SetPanes(); // config config->SetPath(_T("info")); wxString version; config->Read(_T("version"), &version); config->SetPath(_T("..")); default_perspective = m_mgr.SavePerspective(); // back up default perspective config->SetPath(_T("perspective")); wxString perspective; if (config->Read(_T("perspective"), &perspective) && version == VERSION) m_mgr.LoadPerspective(perspective, false); config->SetPath(_T("..")); config->SetPath(_T("library")); int n = 0; config->Read(_T("n"), &n); for (int i = 0; i < n; i++) { wxString libcmds; config->Read(wxString::Format(_T("%d"),i), &libcmds); shapelib->AddShapePreview(libcmds); } config->SetPath(_T("..")); m_mgr.Update(); m_canvas->SetFocus(); m_canvas->Show(); wxSize clientsize = m_canvas->GetClientSize(); m_canvas->ChangeZoomLevelTo(DEFAULT_SCALE, wxPoint(clientsize.x / 2, clientsize.y / 2)); m_canvas->MoveCanvasOriginTo(clientsize.x / 2, clientsize.y / 2); UpdateASSCommandStringToSrcTxtCtrl(m_canvas->GenerateASS()); UpdateFrameUI(); ApplySettings(); if (firsttime) _About(); else if (!behaviors.nosplashscreen) _About(3); helpcontroller.SetParentWindow(this); helpcontroller.Initialize(wxFileName(::wxGetCwd(), _T("ASSDraw3.chm")).GetFullPath()); }