Updates to doc/view modules and sample apps from ActiveGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2005-04-28 00:00:50 +00:00
parent 73ed39b580
commit bbf7159c82
28 changed files with 603 additions and 1183 deletions

View File

@@ -39,15 +39,16 @@ else:
#----------------------------------------------------------------------------
# XML Marshalling Methods
#----------------------------------------------------------------------------
LOCAL_TYPE_MAPPING = { "projectmodel" : "activegrid.tool.ProjectEditor.ProjectModel", }
def load(fileObject):
xml = fileObject.read()
projectModel = activegrid.util.xmlmarshaller.unmarshal(xml)
projectModel = activegrid.util.xmlmarshaller.unmarshal(xml, knownTypes=LOCAL_TYPE_MAPPING)
return projectModel
def save(fileObject, projectModel):
xml = activegrid.util.xmlmarshaller.marshal(projectModel, prettyPrint=True)
xml = activegrid.util.xmlmarshaller.marshal(projectModel, prettyPrint=True, knownTypes=LOCAL_TYPE_MAPPING)
fileObject.write(xml)
@@ -69,7 +70,7 @@ class ProjectDocument(wx.lib.docview.Document):
def __init__(self):
wx.lib.docview.Document.__init__(self)
self._projectModel = ProjectModel()
def GetModel(self):
return self._projectModel
@@ -174,6 +175,7 @@ class ProjectDocument(wx.lib.docview.Document):
self.SetFilename(filename, True)
view.AddProjectToView(self)
self.SetDocumentModificationDate()
self.UpdateAllViews()
self._savedYet = True
view.Activate(True)
@@ -780,25 +782,21 @@ class ProjectView(wx.lib.docview.View):
for i, item in enumerate(self._GetChildItems(self._treeCtrl.GetRootItem())):
if i == 0:
firstItem = item
if expandedProjects[i]:
self._treeCtrl.Expand(item)
else:
self._treeCtrl.Collapse(item)
# wxBug: This causes a crash, tried using ScrollTo which crashed as well. Then tried calling it with wx.CallAfter and that crashed as well, with both EnsureVisible and ScrollTo
# self._treeCtrl.EnsureVisible(self._treeCtrl.GetRootItem())
# So doing the following massive hack which forces the treectrl to scroll up to the top item
if firstItem:
if expandedProjects[i]:
self._treeCtrl.Collapse(firstItem)
self._treeCtrl.Expand(firstItem)
else:
self._treeCtrl.Expand(firstItem)
self._treeCtrl.Collapse(firstItem)
self._treeCtrl.EnsureVisible(firstItem)
def GetSelectedFile(self):
for item in self._treeCtrl.GetSelections():
return self._GetItemFile(item)
def AddProjectToView(self, document):
rootItem = self._treeCtrl.GetRootItem()
projectItem = self._treeCtrl.AppendItem(rootItem, self._MakeProjectName(document))
@@ -814,17 +812,6 @@ class ProjectView(wx.lib.docview.View):
if self._embeddedWindow:
document.GetCommandProcessor().SetEditMenu(wx.GetApp().GetEditMenu(self._GetParentFrame()))
#----------------------------------------------------------------------------
# Methods for OutlineService
#----------------------------------------------------------------------------
def DoLoadOutlineCallback(self, force=False):
""" Project Editor is a special case for the Outline Service.
You need to be able to be active in the Project Manager without clearing
the Outline View. So we make the Project Editor a client of the Outline
Service, but we don't load anything in the Outline View, leaving the
contents of the Outline View alone (e.g. last document's outline view).
"""
pass
#----------------------------------------------------------------------------
# Control events
@@ -1375,9 +1362,10 @@ class ProjectOptionsPanel(wx.Panel):
projectBorderSizer = wx.BoxSizer(wx.VERTICAL)
projectSizer = wx.BoxSizer(wx.VERTICAL)
projectSizer.Add(self._projSaveDocsCheckBox, 0, wx.ALL, HALF_SPACE)
self._projShowWelcomeCheckBox = wx.CheckBox(self, -1, _("Show Welcome Dialog"))
self._projShowWelcomeCheckBox.SetValue(config.ReadInt("RunWelcomeDialog", True))
projectSizer.Add(self._projShowWelcomeCheckBox, 0, wx.ALL, HALF_SPACE)
if not ACTIVEGRID_BASE_IDE:
self._projShowWelcomeCheckBox = wx.CheckBox(self, -1, _("Show Welcome Dialog"))
self._projShowWelcomeCheckBox.SetValue(config.ReadInt("RunWelcomeDialog", True))
projectSizer.Add(self._projShowWelcomeCheckBox, 0, wx.ALL, HALF_SPACE)
projectBorderSizer.Add(projectSizer, 0, wx.ALL, SPACE)
self.SetSizer(projectBorderSizer)
self.Layout()
@@ -1398,7 +1386,8 @@ class ProjectOptionsPanel(wx.Panel):
def OnOK(self, optionsDialog):
config = wx.ConfigBase_Get()
config.WriteInt("ProjectSaveDocs", self._projSaveDocsCheckBox.GetValue())
config.WriteInt("RunWelcomeDialog", self._projShowWelcomeCheckBox.GetValue())
if not ACTIVEGRID_BASE_IDE:
config.WriteInt("RunWelcomeDialog", self._projShowWelcomeCheckBox.GetValue())
class ProjectService(Service.Service):
@@ -1793,7 +1782,6 @@ class ProjectService(Service.Service):
# Icon Bitmaps - generated by encode_bitmaps.py
#----------------------------------------------------------------------------
from wx import ImageFromStream, BitmapFromImage
from wx import EmptyIcon
import cStringIO
@@ -1814,23 +1802,20 @@ def getProjectImage():
return ImageFromStream(stream)
def getProjectIcon():
icon = EmptyIcon()
icon.CopyFromBitmap(getProjectBitmap())
return icon
return wx.IconFromBitmap(getProjectBitmap())
#----------------------------------------------------------------------------
def getBlankData():
return \
"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
\x00\x00szz\xf4\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x00\
\x85IDATX\x85\xed\x97\xc9\n\xc0 \x0cD3\xda\xff\xffcMo\x96Z\xc4\xa5\x91\x14:9\
\x8a\xe8\xcb\xd3\xb8\x00!\x8ag\x04\xd7\xd9E\xe4\xa8\x1b4'}3 B\xc4L\x7fs\x03\
\xb3\t<\x0c\x94\x81tN\x04p%\xae9\xe9\xa8\x89m{`\xd4\x84\xfd\x12\xa8\x16{#\
\x10\xdb\xab\xa0\x07a\x0e\x00\xe0\xb6\x1fz\x10\xdf;\x07V\xa3U5\xb5\x8d:\xdc\
\r\x10\x80\x00\x04 \x00\x01\x08@\x80\xe6{\xa0w\x8f[\x85\xbb\x01\xfc\xfeoH\
\x80\x13>\xf9(3zH\x1e\xfb\x00\x00\x00\x00IEND\xaeB`\x82"
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
\x00\x00]IDAT8\x8d\xed\x931\x0e\xc00\x08\x03m\x92\xff\xff8q\x87\xb6C\x11\x89\
\xa8X:\xd4\x13\x03:\x1b\x01\xa45T\xd4\xefBsh\xd7Hk\xdc\x02\x00@\x8a\x19$\xa1\
9\x14A,\x95\xf3\x82G)\xd3\x00\xf24\xf7\x90\x1ev\x07\xee\x1e\xf4:\xc1J?\xe0\
\x0b\x80\xc7\x1d\xf8\x1dg\xc4\xea7\x96G8\x00\xa8\x91\x19(\x85#P\x7f\x00\x00\
\x00\x00IEND\xaeB`\x82'
def getBlankBitmap():
@@ -1841,7 +1826,5 @@ def getBlankImage():
return ImageFromStream(stream)
def getBlankIcon():
icon = EmptyIcon()
icon.CopyFromBitmap(getBlankBitmap())
return icon
return wx.IconFromBitmap(getBlankBitmap())