[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnuef/designer/src Instance.py MenuBar.py
From: |
Jason Cater |
Subject: |
gnue/gnuef/designer/src Instance.py MenuBar.py |
Date: |
Mon, 18 Jun 2001 03:13:08 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 01/06/18 03:13:08
Modified files:
gnuef/designer/src: Instance.py MenuBar.py
Log message:
Implemented 'Save As...' and dirty project marker (* in titlebar if
project has been modified)
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/Instance.py.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/MenuBar.py.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: gnue/gnuef/designer/src/Instance.py
diff -u gnue/gnuef/designer/src/Instance.py:1.5
gnue/gnuef/designer/src/Instance.py:1.6
--- gnue/gnuef/designer/src/Instance.py:1.5 Sun Jun 17 22:41:25 2001
+++ gnue/gnuef/designer/src/Instance.py Mon Jun 18 03:13:08 2001
@@ -44,10 +44,11 @@
GFInstance.GFInstance.__init__(self, app, -1, app.connections, None,
disableSplash=1)
wxFrame.__init__(self, NULL, -1, "")
+ self._isdirty = 0
+
self._app = app
self._lastGenericNameSeq = {}
self.nameMappings = {}
- app.addInstance(self)
self._pages = []
@@ -59,13 +60,14 @@
GFObjects.GFOption(options, "height","12")
GFObjects.GFOption(options, "width","40")
GFObjects.GFPage(self._form)
- self.SetTitle (TITLE + " - Untitled Form")
+ self.makeDirty()
else:
self._path = location
fileHandle = open(location,'r')
self._form = GFParser.loadForm (fileHandle, self, initialize=0)
fileHandle.close()
- self.SetTitle (TITLE + " - " + self._path)
+ self.makeClean()
+
self.CreateStatusBar()
self.SetStatusText('Moo!')
@@ -80,6 +82,7 @@
hsplitter = wxSplitterWindow (vsplitter, -1, style=wxSP_3D|wxNO_3D)
hsplitter.SetMinimumPaneSize (100)
+ self._form.walk(self.inventoryLoadedItems)
# Create our tools
self.tree = TreeView(self, self._form, hsplitter)
@@ -94,8 +97,6 @@
self.propertyEditor,
self.triggerEditor ]
- self._form.walk(self.inventoryLoadedItems)
-
self._currentPage = self._pages[0]
hsplitter.SplitHorizontally (self.tree, self.propertyEditor)
vsplitter.SplitVertically(hsplitter, self.layoutEditor)
@@ -104,11 +105,36 @@
self.layoutEditor.drawPage(self._currentPage)
hsplitter.SetSashPosition (320, true)
self.tree.Expand(self._form._treeItem)
- self.Refresh()
+ self._menubar.lastToolAdded()
+
+ app.addInstance(self)
+
+ self.Refresh()
+
def uiEventTrap(self, event):
pass
+
+ # Mark our form as "dirty" (unsaved changes)
+ def makeDirty(self):
+ if not self._isdirty:
+ self._isdirty = 1
+ if self._path == "":
+ self.SetTitle( TITLE + " - Untitled Form *")
+ else:
+ self.SetTitle( TITLE + " - " + self._path + " *")
+
+ def makeClean(self):
+ self._isdirty = 0
+ if self._path == "":
+ self.SetTitle( TITLE + " - Untitled Form")
+ else:
+ self.SetTitle( TITLE + " - " + self._path)
+
+
+
+
def inventoryLoadedItems (self, object):
if object != self._form:
@@ -130,14 +156,17 @@
def onCreateObject (self, object, handler):
for listener in self.objectListeners:
listener.onCreateObject(object, handler)
+ self.makeDirty()
def onModifyObject (self, object, handler, modifications):
for listener in self.objectListeners:
listener.onModifyObject(object, handler)
+ self.makeDirty()
def onDeleteObject (self, object, handler):
for listener in self.objectListeners:
listener.onDeleteObject(object, handler)
+ self.makeDirty()
def getNextGenericName (self, type):
@@ -162,9 +191,9 @@
fileHandle = open(location,'r')
fileHandle2 = open(location + "~",'w')
fileHandle2.writelines(fileHandle.readlines())
-# except:
-# pass
- finally:
+ except:
+ pass
+ else:
if fileHandle != None:
fileHandle.close()
if fileHandle2 != None:
@@ -220,6 +249,8 @@
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))))
fileHandle.write(self._form.dumpXML(treeDump=1))
fileHandle.close()
+
+ self.makeClean()
def OnSave(self, event):
if not len(self._path):
@@ -228,7 +259,16 @@
self.saveForm()
def OnSaveAs(self, event):
- pass
+ dlg = wxFileDialog(NULL, "Save GNUe Form As...", defaultDir=os.getcwd(),
+ wildcard = "GNUe Form Definitions (*.gfd)|*.gfd|" +\
+ "GNUe Form Libraries (*.gfl)|*.gfl",
+ style=wxSAVE)
+ if dlg.ShowModal() == wxID_OK:
+ self._path = dlg.GetPath()
+ self.SetTitle (TITLE + " - " + self._path)
+ self.saveForm()
+ dlg.Destroy()
+
def OnClose(self, event):
self._app.removeInstance(self)
@@ -275,4 +315,5 @@
def OnClose(self, event):
self.hide()
event.Veto()
+
Index: gnue/gnuef/designer/src/MenuBar.py
diff -u gnue/gnuef/designer/src/MenuBar.py:1.2
gnue/gnuef/designer/src/MenuBar.py:1.3
--- gnue/gnuef/designer/src/MenuBar.py:1.2 Sun Jun 17 22:41:25 2001
+++ gnue/gnuef/designer/src/MenuBar.py Mon Jun 18 03:13:08 2001
@@ -92,4 +92,7 @@
self._window.AppendItem(toolFrame._menu)
EVT_MENU(self._frame, toolFrame._wxMenuID, toolFrame.OnMenuSelected)
+ def lastToolAdded(self):
+ self._window.AppendSeparator()
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef/designer/src Instance.py MenuBar.py,
Jason Cater <=