summaryrefslogtreecommitdiffstats
path: root/kdejava/koala/examples/kscribble/KScribbleApp.java
diff options
context:
space:
mode:
Diffstat (limited to 'kdejava/koala/examples/kscribble/KScribbleApp.java')
-rw-r--r--kdejava/koala/examples/kscribble/KScribbleApp.java1039
1 files changed, 0 insertions, 1039 deletions
diff --git a/kdejava/koala/examples/kscribble/KScribbleApp.java b/kdejava/koala/examples/kscribble/KScribbleApp.java
deleted file mode 100644
index 00be368e..00000000
--- a/kdejava/koala/examples/kscribble/KScribbleApp.java
+++ /dev/null
@@ -1,1039 +0,0 @@
-import java.util.*;
-import org.kde.qt.*;
-import org.kde.koala.*;
-
-/**
- * The base class for KScribble application windows. It sets up the main
- * window and reads the config file as well as providing a menubar, toolbar
- * and statusbar. In initView(), your main view is created as the MDI child window manager.
- * Child windows are created in createClient(), which gets a document instance as it's document to
- * display whereby one document can have several views.The MDI child is an instance of KScribbleView,
- * the document an instance of KScribbleDoc.
- * KScribbleApp reimplements the methods that TDEMainWindow provides for main window handling and supports
- * full session management as well as keyboard accelerator configuration by using TDEAccel.
- * @see TDEMainWindow
- * @see TDEApplication
- * @see TDEConfig
- * @see TDEAccel
- *
- * @author Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team.
- * @version KDevelop version 1.1 code generation
- */
-public class KScribbleApp extends TDEMainWindow implements Resource {
-
- /** the configuration object of the application */
- private TDEConfig config;
- /** view is the main widget which represents your working area. The View
- * class should handle all events of the view widget. It is kept empty so
- * you can create your view according to your application's needs by
- * changing the view class.
- */
- private KScribbleView view;
- /** doc represents your actual document and is created only once. It keeps
- * information such as filename and does the serialization of your files.
- */
- private KScribbleDoc doc;
-
- /** contains the recently used filenames */
- ArrayList recentFiles = null;
-
- // menus
- private TQPopupMenu pFileMenu;
- private TQPopupMenu pEditMenu;
- private TQPopupMenu pPenMenu;
- private TQPopupMenu pViewMenu;
- private TQPopupMenu pWindowMenu;
- private TQPopupMenu pHelpMenu;
- private TQPopupMenu pRecentFileMenu;
-
- private TQWorkspace pWorkspace;
- private TQPrinter printer;
- private int untitledCount = 0;
- private ArrayList pDocList;
- private TDEApplication kapp;
- private TDEIconLoader k = new TDEIconLoader();
-
- /** construtor of KScribbleApp, calls all init functions to create the application.
- */
- public KScribbleApp(TQWidget parent, String name) {
- super(parent,name, 0);
- kapp = TDEApplication.kApplication();
- config=kapp.config();
-
- printer = new TQPrinter();
- untitledCount=0;
- pDocList = new ArrayList();
- setAcceptDrops(true);
- ///////////////////////////////////////////////////////////////////
- // call inits to invoke all other construction parts
- initMenuBar();
- initToolBar();
- initStatusBar();
- initKeyAccel();
- initView();
-
- readOptions();
-
- ///////////////////////////////////////////////////////////////////
- // disable menu and toolbar items at startup
- disableCommand(ID_EDIT_UNDO);
-
- }
-
- public KScribbleApp() {
- this(null, null);
- }
-
- /** initializes the TDEActions of the application */
- protected void initKeyAccel() {
-
- TDEAccel keyAccel = new TDEAccel(this);
-
- // fileMenu accelerators
- keyAccel.insert(TDEStdAccel.New, this, SLOT("slotFileNew()"));
- keyAccel.insert(TDEStdAccel.Open, this, SLOT("slotFileOpen()"));
- keyAccel.insert(TDEStdAccel.Save, this, SLOT("slotFileSave()"));
- keyAccel.insert(TDEStdAccel.Close, this, SLOT("slotFileClose()"));
- keyAccel.insert(TDEStdAccel.Print, this, SLOT("slotFilePrint()"));
- keyAccel.insert(TDEStdAccel.Quit, this, SLOT("slotFileQuit()"));
-
- // editMenu accelerators
- keyAccel.insert(TDEStdAccel.Cut, this, SLOT("slotEditCut()"));
- keyAccel.insert(TDEStdAccel.Copy, this, SLOT("slotEditCopy()"));
- keyAccel.insert(TDEStdAccel.Paste, this, SLOT("slotEditPaste()"));
-
- // help accelerator
- keyAccel.insert(TDEStdAccel.Help, this, SLOT("appHelpActivated()"));
-
- keyAccel.readSettings();
-
- }
-
-
- void initMenuBar() {
- ///////////////////////////////////////////////////////////////////
- // MENUBAR
-
- pRecentFileMenu = new TQPopupMenu(this);
- connect(pRecentFileMenu, SIGNAL("activated(int)"), SLOT("slotFileOpenRecent(int)"));
-
-
- ///////////////////////////////////////////////////////////////////
- // menuBar entry file-Menu
- pFileMenu = new TQPopupMenu(this);
-
-
- pFileMenu.insertItem(KDE.BarIconSet("filenew"),i18n("&New"), ID_FILE_NEW,-1);
- pFileMenu.insertItem(KDE.BarIconSet("fileopen"),i18n("&Open..."), ID_FILE_OPEN,-1);
- pFileMenu.insertItem(i18n("Open &recent"), pRecentFileMenu, ID_FILE_OPEN_RECENT,-1);
-
- pFileMenu.insertItem(i18n("&Close"), ID_FILE_CLOSE,-1);
- pFileMenu.insertSeparator();
- pFileMenu.insertItem(KDE.BarIconSet("filefloppy") ,i18n("&Save"), ID_FILE_SAVE,-1);
- pFileMenu.insertItem(i18n("Save &As..."), ID_FILE_SAVE_AS,-1);
- pFileMenu.insertSeparator();
- pFileMenu.insertItem(KDE.BarIconSet("fileprint"), i18n("&Print..."), ID_FILE_PRINT,-1);
- pFileMenu.insertSeparator();
- pFileMenu.insertItem(i18n("E&xit"), ID_FILE_QUIT,-1);
-
- ///////////////////////////////////////////////////////////////////
- // menuBar entry edit-Menu
- pEditMenu = new TQPopupMenu(this);
- pEditMenu.insertItem(KDE.BarIconSet("undo"), i18n("&Undo"), ID_EDIT_UNDO,-1);
- pEditMenu.insertSeparator();
- pEditMenu.insertItem(KDE.BarIconSet("editcut"), i18n("Cu&t"), ID_EDIT_CUT,-1);
- pEditMenu.insertItem(KDE.BarIconSet("editcopy"), i18n("&Copy"), ID_EDIT_COPY,-1);
- pEditMenu.insertItem(KDE.BarIconSet("editpaste"), i18n("&Paste"), ID_EDIT_PASTE,-1);
- pEditMenu.insertItem(KDE.BarIconSet("delete"),i18n("&Clear All"), ID_EDIT_CLEAR_ALL,-1);
-
- ///////////////////////////////////////////////////////////////////
- // menuBar entry pen-Menu
- pPenMenu = new TQPopupMenu();
- pPenMenu.insertItem(i18n("&Color"), ID_PEN_COLOR,-1);
- pPenMenu.insertItem(i18n("&Brush"), ID_PEN_BRUSH,-1);
-
- ///////////////////////////////////////////////////////////////////
- // menuBar entry view-Menu
- pViewMenu = new TQPopupMenu(this);
- pViewMenu.setCheckable(true);
- pViewMenu.insertItem(i18n("&Toolbar"), ID_VIEW_TOOLBAR,-1);
- pViewMenu.insertItem(i18n("&Statusbar"), ID_VIEW_STATUSBAR,-1);
-
- ///////////////////////////////////////////////////////////////////
- // menuBar entry window-Menu
- pWindowMenu = new TQPopupMenu(this);
- pWindowMenu.setCheckable(true);
-
-
- ///////////////////////////////////////////////////////////////////
- // menuBar entry helpMenu
-
- TQPopupMenu pHelpMenu = helpMenu(i18n("Java KScribble " + Main.VERSION + "\n\n(c) 2002 by\n" +
- "Ralf Nolden\nRalf.Nolden@post.rwth-aachen.de"),true);
-
- ///////////////////////////////////////////////////////////////////
- // MENUBAR CONFIGURATION
- // insert your popup menus with the according menubar entries in the order
- // they will appear later from left to right
- menuBar().insertItem(i18n("&File"), pFileMenu);
- menuBar().insertItem(i18n("&Edit"), pEditMenu);
- menuBar().insertItem(i18n("&Pen"), pPenMenu);
- menuBar().insertItem(i18n("&View"), pViewMenu);
- menuBar().insertItem(i18n("&Window"), pWindowMenu );
- menuBar().insertItem(i18n("&Help"), pHelpMenu);
-
- ///////////////////////////////////////////////////////////////////
- // CONNECT THE MENU SLOTS WITH SIGNALS
- // for execution slots and statusbar messages
- connect(pFileMenu, SIGNAL("activated(int)"), SLOT("commandCallback(int)"));
- connect(pFileMenu, SIGNAL("highlighted(int)"), SLOT("statusCallback(int)"));
-
- connect(pEditMenu, SIGNAL("activated(int)"), SLOT("commandCallback(int)"));
- connect(pEditMenu, SIGNAL("highlighted(int)"), SLOT("statusCallback(int)"));
-
- connect(pPenMenu, SIGNAL("activated(int)"), SLOT("commandCallback(int)"));
- connect(pPenMenu, SIGNAL("highlighted(int)"), SLOT("statusCallback(int)"));
-
- connect(pViewMenu, SIGNAL("activated(int)"), SLOT("commandCallback(int)"));
- connect(pViewMenu, SIGNAL("highlighted(int)"), SLOT("statusCallback(int)"));
-
- connect(pWindowMenu, SIGNAL("aboutToShow()" ), SLOT( "windowMenuAboutToShow()" ) );
- connect(pWindowMenu, SIGNAL("activated(int)"), SLOT("commandCallback(int)"));
- connect(pWindowMenu, SIGNAL("highlighted(int)"), SLOT("statusCallback(int)"));
-
- }
-
-
- private void initToolBar() {
-
- ///////////////////////////////////////////////////////////////////
- // TOOLBAR
-
- toolBar().insertButton(KDE.BarIcon("filenew"), ID_FILE_NEW, true, i18n("New File"),-1);
- toolBar().insertButton(KDE.BarIcon("fileopen"), ID_FILE_OPEN, true, i18n("Open File"),-1);
- toolBar().insertButton(KDE.BarIcon("filefloppy"), ID_FILE_SAVE, true, i18n("Save File"),-1);
- toolBar().insertButton(KDE.BarIcon("fileprint"), ID_FILE_PRINT, true, i18n("Print"),-1);
- toolBar().insertSeparator();
- toolBar().insertButton(KDE.BarIcon("editcut"), ID_EDIT_CUT, true, i18n("Cut"),-1);
- toolBar().insertButton(KDE.BarIcon("editcopy"), ID_EDIT_COPY, true, i18n("Copy"),-1);
- toolBar().insertButton(KDE.BarIcon("editpaste"), ID_EDIT_PASTE, true, i18n("Paste"),-1);
- toolBar().insertSeparator();
- toolBar().insertButton(KDE.BarIcon("pencolor"), ID_PEN_COLOR, true, i18n("Color"),-1 );
- toolBar().insertButton(KDE.BarIcon("penwidth"), ID_PEN_BRUSH, true, i18n("Width"),-1 );
- toolBar().insertSeparator();
- toolBar().insertButton(KDE.BarIcon("help"), ID_HELP_CONTENTS, SIGNAL("clicked()"),
- this, SLOT("appHelpActivated()"), true,i18n("Help"),-1);
-
- TQToolButton btnwhat = TQWhatsThis.whatsThisButton(toolBar());
- TQToolTip.add(btnwhat, i18n("What's this...?"));
- toolBar().insertWidget(ID_HELP_WHATS_THIS, btnwhat.sizeHint().width(), btnwhat);
-
- ///////////////////////////////////////////////////////////////////
- // INSERT YOUR APPLICATION SPECIFIC TOOLBARS HERE WITH toolBar(n)
-
-
- ///////////////////////////////////////////////////////////////////
- // CONNECT THE TOOLBAR SLOTS WITH SIGNALS - add new created toolbars by their according number
- // connect for invoking the slot actions
- connect(toolBar(), SIGNAL("clicked(int)"), SLOT("commandCallback(int)"));
- // connect for the status help on holing icons pressed with the mouse button
- connect(toolBar(), SIGNAL("pressed(int)"), SLOT("statusCallback(int)"));
-
- }
-
-
- /** sets up the kstatusBar for the main window by initialzing a statuslabel.
- */
- protected void initStatusBar() {
- ///////////////////////////////////////////////////////////////////
- // STATUSBAR
- // TODO: add your own items you need for displaying current application status.
- kstatusBar().insertItem(i18n("Ready."), ID_STATUS_MSG);
- }
-
- /** creates the centerwidget of the KTMainWindow instance and sets it as the view
- */
- protected void initView() {
-
- ////////////////////////////////////////////////////////////////////
- // here the main view of the KTMainWindow is created by a background box and
- // the TQWorkspace instance for MDI view.
- TQVBox view_back = new TQVBox( this );
- view_back.setFrameStyle( TQFrame.StyledPanel | TQFrame.Sunken );
- pWorkspace = new TQWorkspace( view_back, "" );
- connect(pWorkspace, SIGNAL("windowActivated(TQWidget)"), this, SLOT("setWndTitle(TQWidget)"));
-// setView(view_back);
- setCentralWidget(view_back);
- }
-
- void createClient(KScribbleDoc doc) {
- KScribbleView w = new KScribbleView(doc, pWorkspace,null,WDestructiveClose);
- w.installEventFilter(this);
- doc.addView(w);
- w.setIcon(kapp.miniIcon());
- if ( pWorkspace.windowList().isEmpty() ) // show the very first window in maximized mode
- w.showMaximized();
- else
- w.show();
- }
-
- void addRecentFile(String file) {
-
-
- if(recentFiles != null && recentFiles.contains(file))
- return; // it's already there
-
- if( recentFiles.size() < 5)
- recentFiles.add(0,file);
- else{
- recentFiles.remove(recentFiles.remove(recentFiles.size()-1));
- recentFiles.add(0,file);
- }
-
- pRecentFileMenu.clear();
-
- Iterator it = recentFiles.iterator();
- while (it.hasNext()) {
- pRecentFileMenu.insertItem((String)it.next());
- }
-
- }
-
- /** opens a file specified by commandline option
- */
- public void openDocumentFile(KURL url) {
- slotStatusMsg(i18n("Opening file..."));
-
- KScribbleDoc doc;
- String file = url.directory(false,true) + url.fileName();
-
- Iterator it = pDocList.iterator();
-
- while (it.hasNext()) {
-
- doc = (KScribbleDoc)it.next();
- // check, if document already open. If yes, set the focus to the first view
- if(doc.pathName().equals(file)) {
-
- KScribbleView view=doc.firstView();
- view.setFocus();
- return;
- }
- }
- doc = new KScribbleDoc();
- pDocList.add(doc);
- doc.newDocument();
- // Creates an untitled window if file is 0
- if(file == null || file.length() == 0) {
- untitledCount+=1;
- String fileName= i18n("Untitled" +untitledCount);
- doc.setPathName(fileName);
- doc.setTitle(fileName);
- }
- // Open the file
- else {
-
- String format= TQImageIO.imageFormat(file);
- if(!doc.openDocument(file,format))
- KMessageBox.error (this,i18n("Could not open document !"), i18n("Error !"),KMessageBox.Notify);
- addRecentFile(file);
- }
- // create the window
- createClient(doc);
- slotStatusMsg(i18n("Ready."));
-
- }
-
-
- public void openDocumentFile() {
- openDocumentFile(new KURL());
- return;
- }
-
- void windowMenuAboutToShow() {
- pWindowMenu.clear();
-
- pWindowMenu.insertItem(i18n("&New Window"), ID_WINDOW_NEW_WINDOW);
- pWindowMenu.insertItem(i18n("&Cascade"),
- pWorkspace, SLOT("cascade()" ),new TQKeySequence(0) , ID_WINDOW_CASCADE );
- pWindowMenu.insertItem(i18n("&Tile"),
- pWorkspace, SLOT("tile()" ),new TQKeySequence(0) , ID_WINDOW_TILE );
-
- if ( pWorkspace.windowList().isEmpty() ) {
-
- disableCommand(ID_WINDOW_NEW_WINDOW);
- disableCommand(ID_WINDOW_CASCADE);
- disableCommand(ID_WINDOW_TILE);
- }
-
- pWindowMenu.insertSeparator();
-
- ArrayList windows = pWorkspace.windowList();
-
- for ( int i = 0; i < windows.size(); ++i ) {
- int id = pWindowMenu.insertItem((i+1)+ ((TQWidget)windows.get(i)).caption(),
- this, SLOT( "windowMenuActivated( int )" ) );
- pWindowMenu.setItemParameter( id, i );
- pWindowMenu.setItemChecked( id, pWorkspace.activeWindow() == (TQWidget)windows.get(i) );
- }
- }
-
- void windowMenuActivated( int id ) {
- TQWidget w = (TQWidget)pWorkspace.windowList().get( id );
- if ( w != null )
- w.setFocus();
- }
-
- void setWndTitle(TQWidget qw){
- setCaption(pWorkspace.activeWindow() != null ? pWorkspace.activeWindow().caption() : "");
- }
-
- void enableCommand(int id_) {
- ///////////////////////////////////////////////////////////////////
- // enable menu and toolbar functions by their ID's
- menuBar().setItemEnabled(id_, true);
- toolBar().setItemEnabled(id_, true);
- }
-
- void disableCommand(int id_) {
- ///////////////////////////////////////////////////////////////////
- // disable menu and toolbar functions by their ID's
- menuBar().setItemEnabled(id_, false);
- toolBar().setItemEnabled(id_, false);
- }
-
- void commandCallback(int id_) {
- switch (id_) {
- case ID_FILE_NEW:
- slotFileNew();
- break;
-
- case ID_FILE_OPEN:
- slotFileOpen();
- break;
-
- case ID_FILE_SAVE:
- slotFileSave();
- break;
-
- case ID_FILE_SAVE_AS:
- slotFileSaveAs();
- break;
-
- case ID_FILE_CLOSE:
- slotFileClose();
- break;
-
- case ID_FILE_PRINT:
- slotFilePrint();
- break;
-
- case ID_FILE_QUIT:
- slotFileQuit();
- break;
-
- case ID_EDIT_CUT:
- slotEditCut();
- break;
-
- case ID_EDIT_COPY:
- slotEditCopy();
- break;
-
- case ID_EDIT_PASTE:
- slotEditPaste();
- break;
-
- case ID_EDIT_CLEAR_ALL:
- slotEditClearAll();
- break;
-
- case ID_PEN_BRUSH:
- slotPenBrush();
- break;
-
- case ID_PEN_COLOR:
- slotPenColor();
- break;
-
- case ID_VIEW_TOOLBAR:
- slotViewToolBar();
- break;
-
- case ID_VIEW_STATUSBAR:
- slotViewStatusBar();
- break;
-
- case ID_WINDOW_NEW_WINDOW:
- slotWindowNewWindow();
- break;
-
- default:
- break;
- }
- }
-
- void statusCallback(int id_) {
- switch (id_) {
- case ID_FILE_NEW:
- slotStatusHelpMsg(i18n("Creates a new document"));
- break;
-
- case ID_FILE_OPEN:
- slotStatusHelpMsg(i18n("Opens an existing document"));
- break;
-
- case ID_FILE_OPEN_RECENT:
- slotStatusHelpMsg(i18n("Opens a recently used file"));
- break;
-
- case ID_FILE_SAVE:
- slotStatusHelpMsg(i18n("Saves the currently active document"));
- break;
-
- case ID_FILE_SAVE_AS:
- slotStatusHelpMsg(i18n("Saves the currently active document as under a new filename"));
- break;
-
- case ID_FILE_CLOSE:
- slotStatusHelpMsg(i18n("Closes the currently active document"));
- break;
-
- case ID_FILE_PRINT:
- slotStatusHelpMsg(i18n("Prints out the actual document"));
- break;
-
- case ID_FILE_QUIT:
- slotStatusHelpMsg(i18n("Quits the application"));
- break;
-
- case ID_EDIT_UNDO:
- slotStatusHelpMsg(i18n("Reverts the last editing action"));
- break;
-
- case ID_EDIT_CUT:
- slotStatusHelpMsg(i18n("Cuts the selected section and puts it to the clipboard"));
- break;
-
- case ID_EDIT_COPY:
- slotStatusHelpMsg(i18n("Copies the selected section to the clipboard"));
- break;
-
- case ID_EDIT_PASTE:
- slotStatusHelpMsg(i18n("Pastes the clipboard contents to actual position"));
- break;
-
- case ID_EDIT_CLEAR_ALL:
- slotStatusHelpMsg(i18n("Clears the document contents"));
- break;
-
- case ID_PEN_BRUSH:
- slotStatusHelpMsg(i18n("Sets the pen width"));
- break;
-
- case ID_PEN_COLOR:
- slotStatusHelpMsg(i18n("Sets the current pen color"));
- break;
-
- case ID_VIEW_TOOLBAR:
- slotStatusHelpMsg(i18n("Enables/disables the toolbar"));
- break;
-
- case ID_VIEW_STATUSBAR:
- slotStatusHelpMsg(i18n("Enables/disables the statusbar"));
- break;
-
- case ID_WINDOW_NEW_WINDOW:
- slotStatusHelpMsg(i18n("Opens a new view for the current document"));
- break;
-
- case ID_WINDOW_CASCADE:
- slotStatusHelpMsg(i18n("Cascades all windows"));
- break;
-
- case ID_WINDOW_TILE:
- slotStatusHelpMsg(i18n("Tiles all windows"));
- break;
-
- default:
- break;
- }
- }
-
- void slotStatusHelpMsg(String text) {
- ///////////////////////////////////////////////////////////////////
- // change status message of whole statusbar temporary (text, msec)
- statusBar().message(text, 2000);
- }
-
-
- /** returns a pointer to the current document connected to the KTMainWindow instance and is used by
- * the View class to access the document object's methods
- */
- public KScribbleDoc getDocument() {
- return doc;
- }
-
- /** save general Options like all bar positions and status as well as the geometry and the recent file list to the configuration
- * file
- */
- protected void saveOptions() {
- config.setGroup("General Options");
- config.writeEntry("Geometry", size());
- config.writeEntry("Show Toolbar", toolBar().isVisible());
- config.writeEntry("Show Statusbar",statusBar().isVisible());
- config.writeEntry("ToolBarPos", (int) toolBar().barPos());
- String[] rf = new String[recentFiles.size()];
- rf = (String[]) recentFiles.toArray(rf);
- if (rf != null)
- config.writeEntry("Recent Files", rf);
- }
-
-
-
- /** read general Options again and initialize all variables like the recent file list
- */
- private void readOptions() {
-
- config.setGroup("General Options");
-
- // bar status settings
- boolean bViewToolbar = config.readBoolEntry("Show Toolbar", true);
- menuBar().setItemChecked(ID_VIEW_TOOLBAR, bViewToolbar);
- if(!bViewToolbar) {
- toolBar("mainToolBar").hide();
- }
-
- boolean bViewStatusbar = config.readBoolEntry("Show Statusbar", true);
- menuBar().setItemChecked(ID_VIEW_STATUSBAR, bViewStatusbar);
- if(!bViewStatusbar) {
- toolBar("mainToolBar").hide();
- }
-
- // bar position settings
- int toolBarPos = TDEToolBar.Top;
- toolBarPos = config.readUnsignedNumEntry("ToolBarPos", TDEToolBar.Top);
- toolBar().setBarPos(toolBarPos);
-
- // initialize the recent file list
- // commented out until fix is applied.
- recentFiles = config.readListEntry("Recent Files");
- Iterator it = recentFiles.iterator();
- while (it.hasNext()) {
- pRecentFileMenu.insertItem((String) it.next());
- }
-
- // Read the size information and resize from settings.
- TQSize size = new TQSize();
- config.readSizeEntry("Geometry",size);
- if(!size.isEmpty()) {
- resize(size);
- }
- else
- resize(400,350);
-
- }
-
- /** saves the window properties for each open window during session end to the session config file, including saving the currently
- * opened file by a temporary filename provided by TDEApplication.
- * @see KTMainWindow#saveProperties
- */
- protected void saveProperties(TDEConfig _cfg) {
-
- }
-
-
- /** reads the session config file and restores the application's state including the last opened files and documents by reading the
- * temporary files saved by saveProperties()
- * @see KTMainWindow#readProperties
- */
- protected void readProperties(TDEConfig _cfg) {
- }
-
- /** queryClose is called by KTMainWindow on each closeEvent of a window. Against the
- * default implementation (only returns true), this calles saveModified() on the document object to ask if the document shall
- * be saved if Modified; on cancel the closeEvent is rejected.
- * @see KTMainWindow#queryClose
- * @see KTMainWindow#closeEvent
- */
- protected boolean queryClose() {
-
- ArrayList saveFiles = new ArrayList();
- KScribbleDoc doc;
-
- if(pDocList.isEmpty())
- return true;
-
- Iterator it = pDocList.iterator();
-
- while (it.hasNext()) {
- doc = (KScribbleDoc)it.next();
- if(doc.isModified())
- saveFiles.add(doc.title());
-
- }
-
- if(saveFiles.isEmpty())
- return true;
-
- // lets load up a String array with the documents to save.
- String[] sf = new String[saveFiles.size()];
- for (int x = 0; x < saveFiles.size(); x++) {
- sf[x] = (String)saveFiles.get(x);
- }
- switch (KMessageBox.questionYesNoList(this,
- i18n("One or more documents have been modified.\nSave changes before exiting?"),sf))
- {
- case KMessageBox.Yes:
-
- Iterator itr = pDocList.iterator();
-
- while (itr.hasNext()) {
- doc = (KScribbleDoc)itr.next();
- if(doc.title().indexOf(i18n("Untitled")) > 0) {
-
- slotFileSaveAs();
- }
- else {
- if(!doc.saveDocument(doc.pathName())){
- KMessageBox.error (this,i18n("Could not save the current document !"), i18n("I/O Error !"),KMessageBox.Notify);
- return false;
- }
-
- }
-
-
- }
- return true;
- case KMessageBox.No:
- default:
- return true;
- }
-
- }
-
- /** queryExit is called by KTMainWindow when the last window of the application is going to be closed during the closeEvent().
- * Against the default implementation that just returns true, this calls saveOptions() to save the settings of the last window's
- * properties.
- * @see KTMainWindow#queryExit
- * @see KTMainWindow#closeEvent
- */
- protected boolean queryExit() {
- saveOptions();
- return true;
- }
-
-/////////////////////////////////////////////////////////////////////
-// SLOT IMPLEMENTATION
-/////////////////////////////////////////////////////////////////////
-
-
- void slotFileNew() {
- slotStatusMsg(i18n("Creating new document..."));
-
- openDocumentFile();
-
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotFileOpen() {
- slotStatusMsg(i18n("Opening file..."));
-
- String fileToOpen=KFileDialog.getOpenFileName(TQDir.currentDirPath(),
- KImageIO.pattern(KImageIO.Reading), this, i18n("Open File..."));
- if(fileToOpen != null && fileToOpen.length() > 0) {
- openDocumentFile(new KURL(fileToOpen));
- }
-
- slotStatusMsg(i18n("Ready."));
- }
-
-
- void slotFileSave() {
- slotStatusMsg(i18n("Saving file..."));
- KScribbleView m = (KScribbleView)pWorkspace.activeWindow();
- if( m != null) {
- KScribbleDoc doc = m.getDocument();
- if(doc.title().indexOf(i18n("Untitled")) > 0)
- slotFileSaveAs();
- else
- if(!doc.saveDocument(doc.pathName()))
- KMessageBox.error (this,i18n("Could not save the current document !"), i18n("I/O Error !"),KMessageBox.Notify); }
-
-
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotFileSaveAs() {
- slotStatusMsg(i18n("Saving file with a new filename..."));
-
- String newName=KFileDialog.getSaveFileName(TQDir.currentDirPath(),
- KImageIO.pattern(KImageIO.Writing), this, i18n("Save as..."));
-
- if(newName != null) {
- KScribbleView m = (KScribbleView)pWorkspace.activeWindow();
- if( m != null ) {
- KScribbleDoc doc = m.getDocument();
-
- String format=new TQFileInfo(newName).extension();
- format=format.toUpperCase();
-
- if(!doc.saveDocument(newName,format)) {
- KMessageBox.error (this,i18n("Could not save the current document !"), i18n("I/O Error !"),KMessageBox.Notify);
- return;
- }
- doc.changedViewList();
- setWndTitle(m);
- }
-
- }
-
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotFileClose() {
- slotStatusMsg(i18n("Closing file..."));
-
- KScribbleView m = (KScribbleView)pWorkspace.activeWindow();
- if( m != null ) {
- KScribbleDoc doc=m.getDocument();
- doc.closeDocument();
- }
-
-
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotFilePrint() {
- slotStatusMsg(i18n("Printing..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
- if ( m != null)
- m.print( printer );
-
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotFileQuit() {
- slotStatusMsg(i18n("Exiting..."));
- saveOptions();
- // close the first window, the list makes the next one the first again.
- // This ensures that queryClose() is called on each window to ask for closing
- TDEMainWindow w;
-
- ArrayList memberlist = memberList();
- if(memberlist != null) {
- Iterator it = memberlist.iterator();
- while (it.hasNext()) {
- w = (TDEMainWindow)it.next();
- // only close the window if the closeEvent is accepted. If the user
- // presses Cancel on the saveModified() dialog,
- // the window and the application stay open.
- if(!w.close())
- break;
- }
- }
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotFileOpenRecent(int id_) {
- slotStatusMsg(i18n("Opening file..."));
-
- KURL kurl = new KURL(pRecentFileMenu.text(id_));
-// openDocumentFile(pRecentFileMenu.text(id_));
- openDocumentFile(kurl);
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotEditClearAll() {
- slotStatusMsg(i18n("Clearing the document contents..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
- if ( m != null ){
- KScribbleDoc pDoc = m.getDocument();
- pDoc.editClearAll();
- }
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotPenBrush() {
- slotStatusMsg(i18n("Setting brush width..."));
-
- // get one window with document for a current pen width
- ArrayList windows = pWorkspace.windowList();
- KScribbleView m = (KScribbleView)windows.get(0);
- KScribbleDoc pDoc = m.getDocument();
- int curr_width=pDoc.penWidth();
-
- // create the dialog, get the new width and set the pen width for all documents
- KPenBrushDlg dlg= new KPenBrushDlg(curr_width,this,"");
- if(dlg.exec() > 0){
- int width=dlg.getPenWidth();
- for ( int i = 0; i < windows.size(); ++i ) {
- m = (KScribbleView)windows.get(i);
- if ( m != null ) {
- pDoc = m.getDocument();
- pDoc.setPenWidth(width);
- }
- }
- }
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotPenColor() {
- slotStatusMsg(i18n("Selecting pen color..."));
-
- TQColor myColor = new TQColor();
- int result = KColorDialog.getColor( myColor, this );
- if ( result == KColorDialog.Accepted )
- {
- ArrayList windows = pWorkspace.windowList();
- KScribbleDoc pDoc;
- KScribbleView m;
- for ( int i = 0; i < windows.size(); ++i ) {
- m = (KScribbleView)windows.get(i);
- if ( m != null) {
- pDoc = m.getDocument();
- pDoc.setPenColor(myColor);
- }
- }
- }
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotEditUndo() {
- slotStatusMsg(i18n("Reverting last action..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
-// if ( m != null )
-// m.undo();
-
- slotStatusMsg(i18n("Ready."));
- }
-
- /** put the marked object into the clipboard and remove
- * it from the document
- */
- void slotEditCut() {
- slotStatusMsg(i18n("Cutting selection..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
- if ( m != null )
- m.cutSelection();
-
- slotStatusMsg(i18n("Ready."));
- }
-
- /** put the marked text/object into the clipboard
- */
- public void slotEditCopy() {
- slotStatusMsg(i18n("Copying selection to clipboard..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
- if ( m != null)
- m.copySelection();
-
- slotStatusMsg(i18n("Ready."));
- }
-
- /** paste the clipboard into the document
- */
- public void slotEditPaste() {
- slotStatusMsg(i18n("Inserting clipboard contents..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
- if ( m != null ) {
- m.pasteSelection();
- }
- slotStatusMsg(i18n("Ready."));
- }
-
- /** toggles the toolbar
- */
-
- void slotViewToolBar() {
- slotStatusMsg(i18n("Toggle the toolbar..."));
- ///////////////////////////////////////////////////////////////////
- // turn Toolbar on or off
- if( menuBar().isItemChecked(ID_VIEW_TOOLBAR)) {
- menuBar().setItemChecked(ID_VIEW_TOOLBAR, false);
- toolBar("mainToolBar").hide();
-
- }
- else {
- menuBar().setItemChecked(ID_VIEW_TOOLBAR, true);
- toolBar("mainToolBar").show();
- }
-
- slotStatusMsg(i18n("Ready."));
- }
-
- /** toggles the statusbar
- */
- void slotViewStatusBar() {
- slotStatusMsg(i18n("Toggle the statusbar..."));
- ///////////////////////////////////////////////////////////////////
- //turn Statusbar on or off
- if( menuBar().isItemChecked(ID_VIEW_STATUSBAR)) {
- menuBar().setItemChecked(ID_VIEW_STATUSBAR, false);
- kstatusBar().hide();
-
- }
- else {
- menuBar().setItemChecked(ID_VIEW_STATUSBAR, true);
- kstatusBar().show();
- }
-
- slotStatusMsg(i18n("Ready."));
- }
-
- void slotWindowNewWindow() {
- slotStatusMsg(i18n("Opening a new application window..."));
-
- KScribbleView m = (KScribbleView) pWorkspace.activeWindow();
- if ( m != null ){
- KScribbleDoc doc = m.getDocument();
- createClient(doc);
- }
-
- slotStatusMsg(i18n("Ready."));
- }
-
- /** changes the statusbar contents for the standard label permanently, used to indicate current actions.
- * @param text the text that is displayed in the statusbar
- */
- public void slotStatusMsg(String text) {
- ///////////////////////////////////////////////////////////////////
- // change status message permanently
- kstatusBar().clear();
- kstatusBar().changeItem(text, ID_STATUS_MSG);
- }
-
- /** accepts drops and opens a new document
- for each drop */
- protected void dropEvent( TQDropEvent e){
- TQImage img = new TQImage();
- if ( TQImageDrag.decode(e, img) ) {
- KScribbleDoc doc = new KScribbleDoc();
- untitledCount+=1;
- String fileName= i18n("Untitled") + untitledCount;
- doc.setPathName(fileName);
- doc.setTitle(fileName);
- doc.newDocument();
- pDocList.add(doc);
- KPixmap tmp = new KPixmap();
- tmp.resize(img.size());
- tmp.convertFromImage(img);
- doc.setPixmap(tmp);
- doc.resizeDocument(tmp.size());
- doc.setModified();
- createClient(doc);
- }
- }
- /** accepts drag events for images */
- protected void dragEnterEvent( TQDragEnterEvent e){
- e.accept(TQImageDrag.canDecode(e));
- }
-
-
-}