diff options
Diffstat (limited to 'kdejava/koala/test/kbase/KBaseDoc.java')
-rw-r--r-- | kdejava/koala/test/kbase/KBaseDoc.java | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/kdejava/koala/test/kbase/KBaseDoc.java b/kdejava/koala/test/kbase/KBaseDoc.java new file mode 100644 index 00000000..0ee4f8f3 --- /dev/null +++ b/kdejava/koala/test/kbase/KBaseDoc.java @@ -0,0 +1,198 @@ +import java.util.*; + +import org.kde.qt.*; +import org.kde.koala.*; + +/** KBaseDoc provides a document object for a document-view model. + * + * The KBaseDoc class provides a document object that can be used in conjunction with the classes JavaApiTestApp and KBaseView + * to create a document-view model for standard KDE applications based on KApplication and KMainWindow. Thereby, the document object + * is created by the JavaApiTestApp instance and contains the document structure with the according methods for manipulation of the document + * data by KBaseView objects. Also, KBaseDoc contains the methods for serialization of the document data from and to files. + * + * @author Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team. + * @version KDevelop version 1.2 code generation + */ +public class KBaseDoc extends QObject { + + /** the list of the views currently connected to the document */ + public ArrayList pViewList; + + /** the modified flag of the current document */ + private boolean modified; + private KURL doc_url; + + /** Constructor for the fileclass of the application */ +public KBaseDoc(QWidget parent, String name) +{ + super(parent, name); + setURL(new KURL()); + + if(pViewList == null) + { + pViewList = new ArrayList(); + } + +// pViewList.setAutoDelete(true); +} + + /** adds a view to the document which represents the document contents. Usually this is your main view. */ +public void addView(KBaseView view) +{ + pViewList.add(view); +} + + /** removes a view from the list of currently connected views */ +public void removeView(KBaseView view) +{ + pViewList.remove(view); +} + + /** sets the modified flag for the document after a modifying action on the view connected to the document.*/ +public void setModified(boolean _m){ modified=_m; } +public void setModified(){ modified=true; } + + /** returns if the document is modified or not. Use this to determine if your document needs saving by the user on closing.*/ +public boolean isModified(){ return modified; } + + /** sets the URL of the document */ +public void setURL(KURL url) +{ + doc_url=url; +} + + /** returns the KURL of the document */ +public KURL URL() +{ + return doc_url; +} + + /** calls repaint() on all views connected to the document object and is called by the view by which the document has been changed. + * As this view normally repaints itself, it is excluded from the paintEvent. + */ +public void slotUpdateAllViews(KBaseView sender) +{ + KBaseView w; + if(pViewList != null) + { + Iterator it = pViewList.iterator(); + while(it.hasNext()) + { + w=(KBaseView)it.next(); + if(w!=sender) + w.repaint(); + } + } + +} + + /** "save modified" - asks the user for saving if the document is modified */ +public boolean saveModified() +{ + boolean completed=true; + + if(modified) + { + KBase win=(KBase ) parent(); + int want_save = KMessageBox.warningYesNoCancel(win, tr("Warning"), + tr("The current file has been modified.\n" + + "Do you want to save it?")); + switch(want_save) + { + case 1: + if (doc_url.fileName() == tr("Untitled")) + { + win.slotFileSaveAs(); + } + else + { + saveDocument(URL()); + }; + + deleteContents(); + completed=true; + break; + + case 2: + setModified(false); + deleteContents(); + completed=true; + break; + + case 3: + completed=false; + break; + + default: + completed=false; + break; + } + } + + return completed; +} + + /** closes the acutal document */ +public void closeDocument() +{ + deleteContents(); +} + + /** initializes the document generally */ +public boolean newDocument() +{ + ///////////////////////////////////////////////// + // TODO: Add your document initialization code here + ///////////////////////////////////////////////// + modified=false; + doc_url.setFileName(tr("Untitled")); + + return true; +} + + /** loads the document by filename and format and emits the updateViews() signal */ +public boolean openDocument(KURL url, String format) +{ + StringBuffer tmpfile = new StringBuffer(""); + NetAccess.download( url, tmpfile, null ); + ///////////////////////////////////////////////// + // TODO: Add your document opening code here + ///////////////////////////////////////////////// + + NetAccess.removeTempFile( tmpfile.toString() ); + + modified=false; + return true; +} + +public boolean openDocument(KURL url) +{ + return openDocument(url, null); +} + + /** saves the document under filename and format.*/ +public boolean saveDocument(KURL url, String format) +{ + ///////////////////////////////////////////////// + // TODO: Add your document saving code here + ///////////////////////////////////////////////// + + modified=false; + return true; +} + +public boolean saveDocument(KURL url) +{ + return saveDocument(url, null); +} + + /** deletes the document's contents */ +public void deleteContents() +{ + ///////////////////////////////////////////////// + // TODO: Add implementation to delete the document contents + ///////////////////////////////////////////////// + +} + +} |