mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-08 04:50:07 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -13,7 +13,7 @@ wxPython Changelog
|
||||
-------
|
||||
* (not yet released)
|
||||
|
||||
PyPI: https://pypi.python.org/pypi/wxPython/4.0.0b1
|
||||
PyPI: https://pypi.python.org/pypi/wxPython/4.0.0b2
|
||||
Extras: https://extras.wxPython.org/wxPython4/extras/
|
||||
|
||||
Changes in this release include the following:
|
||||
@@ -26,6 +26,9 @@ Changes in this release include the following:
|
||||
* Add missing wx.VScrolledWindow methods listed in the docs as deprecated but
|
||||
still present. (#441)
|
||||
|
||||
* Fixed copy/paste error in wx.BusyInfo.__exit__ (#449)
|
||||
|
||||
|
||||
|
||||
|
||||
4.0.0b1
|
||||
|
||||
@@ -3,10 +3,14 @@
|
||||
# still an easy way to specify what data files (non *.py files) should be
|
||||
# included in the package dirs.
|
||||
#
|
||||
# See cmd_sdist() in build.py for the actual building of the source dist.
|
||||
#
|
||||
|
||||
recursive-include wx **
|
||||
recursive-include license *.txt
|
||||
include LICENSE.txt
|
||||
graft docs
|
||||
prune docs/sphinx/build
|
||||
|
||||
recursive-exclude wx .git
|
||||
recursive-exclude wx *.pyc
|
||||
|
||||
8
build.py
8
build.py
@@ -1766,10 +1766,16 @@ def cmd_sdist(options, args):
|
||||
getWafCmd()
|
||||
copyFile('bin/waf-%s' % wafCurrentVersion, os.path.join(PDEST, 'bin'))
|
||||
|
||||
# and the REV.txt if there is one
|
||||
# And the REV.txt if there is one
|
||||
if os.path.exists('REV.txt'):
|
||||
copyFile('REV.txt', PDEST)
|
||||
|
||||
# Copy the Sphinx source files in the docs tree, excluding the html and
|
||||
# sphinx/build folders, if present.
|
||||
shutil.rmtree(opj(PDEST, 'docs'), ignore_errors=True)
|
||||
shutil.copytree('docs', opj(PDEST, 'docs'),
|
||||
ignore=shutil.ignore_patterns('html', 'build', '__pycache__', 'cpp'))
|
||||
|
||||
# Add some extra stuff to the root folder
|
||||
cmd_egg_info(options, args, egg_base=PDEST)
|
||||
copyFile(opj(PDEST, '{}.egg-info/PKG-INFO'.format(baseName)),
|
||||
|
||||
@@ -213,7 +213,7 @@ def makeFactory(port, buildType='buildOnly', pyVer='2.7'):
|
||||
factory = BuildFactory()
|
||||
|
||||
# Was the build started from the force build form with a "fullclean"
|
||||
# property set? If so, clobber the git workspace and start fresh.
|
||||
# property set? If so, fully clobber the git workspace and start fresh.
|
||||
cmd = ['bash', '-c',
|
||||
WithProperties('if [ %(fullclean:-no)s == yes ]; then rm -rf ../Phoenix; echo fully cleaned; fi'),
|
||||
]
|
||||
@@ -226,7 +226,7 @@ def makeFactory(port, buildType='buildOnly', pyVer='2.7'):
|
||||
clean = ''
|
||||
|
||||
# Start from a clean build tree for the daily "dist" builds
|
||||
if buildType in ['dist', 'docs', 'vagrant']:
|
||||
if buildType in ['dist', 'sdist', 'docs', 'vagrant']:
|
||||
mode = 'full'
|
||||
method = 'clobber'
|
||||
|
||||
@@ -246,7 +246,7 @@ def makeFactory(port, buildType='buildOnly', pyVer='2.7'):
|
||||
|
||||
if buildType == 'sdist':
|
||||
cmd = 'python -u build.py %s setrev dox touch etg sip build '\
|
||||
'sdist sdist_demo --upload' % pyVer
|
||||
'wxlib sdist sdist_demo --upload' % pyVer
|
||||
|
||||
elif buildType == 'docs':
|
||||
cmd = 'python -u build.py %s setrev dox touch etg sip build wxlib ' \
|
||||
|
||||
@@ -2478,8 +2478,8 @@ class wxPythonDemo(wx.Frame):
|
||||
self.mainmenu = None
|
||||
self.StopDownload()
|
||||
|
||||
# if self.tbicon is not None:
|
||||
# self.tbicon.Destroy()
|
||||
if self.tbicon is not None:
|
||||
self.tbicon.Destroy()
|
||||
|
||||
config = GetConfig()
|
||||
config.Write('ExpansionState', str(self.tree.GetExpansionState()))
|
||||
|
||||
@@ -1,27 +1,23 @@
|
||||
|
||||
|
||||
def OnOpen(self, event):
|
||||
|
||||
|
||||
if self.contentNotSaved:
|
||||
|
||||
if wx.MessageBox("Current content has not been saved! Proceed?", "Please confirm",
|
||||
wx.ICON_QUESTION | wx.YES_NO, self) == wx.NO:
|
||||
return
|
||||
|
||||
# else: proceed asking to the user the new file to open
|
||||
|
||||
openFileDialog = wx.FileDialog(self, "Open XYZ file", "", "",
|
||||
"XYZ files (*.xyz)|*.xyz", wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
|
||||
|
||||
if openFileDialog.ShowModal() == wx.ID_CANCEL:
|
||||
return # the user changed idea...
|
||||
|
||||
# proceed loading the file chosen by the user
|
||||
# this can be done with e.g. wxPython input streams:
|
||||
input_stream = wx.FileInputStream(openFileDialog.GetPath())
|
||||
|
||||
if not input_stream.IsOk():
|
||||
|
||||
wx.LogError("Cannot open file '%s'."%openFileDialog.GetPath())
|
||||
return
|
||||
|
||||
|
||||
|
||||
# otherwise ask the user what new file to open
|
||||
with wx.FileDialog(self, "Open XYZ file", wildcard="XYZ files (*.xyz)|*.xyz",
|
||||
style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST) as fileDialog:
|
||||
|
||||
if fileDialog.ShowModal() == wx.ID_CANCEL:
|
||||
return # the user changed their mind
|
||||
|
||||
# Proceed loading the file chosen by the user
|
||||
pathname = fileDialog.GetPath()
|
||||
try:
|
||||
with open(pathname, 'r') as file:
|
||||
self.doLoadDataOrWhatever(file)
|
||||
except IOError:
|
||||
wx.LogError("Cannot open file '%s'." % newfile)
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
|
||||
|
||||
def OnSaveAs(self, event):
|
||||
|
||||
saveFileDialog = wx.FileDialog(self, "Save XYZ file", "", "",
|
||||
"XYZ files (*.xyz)|*.xyz", wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
|
||||
|
||||
if saveFileDialog.ShowModal() == wx.ID_CANCEL:
|
||||
return # the user changed idea...
|
||||
|
||||
# save the current contents in the file
|
||||
# this can be done with e.g. wxPython output streams:
|
||||
output_stream = wx.FileOutputStream(saveFileDialog.GetPath())
|
||||
|
||||
if not output_stream.IsOk():
|
||||
wx.LogError("Cannot save current contents in file '%s'."%saveFileDialog.GetPath())
|
||||
return
|
||||
|
||||
|
||||
with wx.FileDialog(self, "Save XYZ file", wildcard="XYZ files (*.xyz)|*.xyz",
|
||||
style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) as fileDialog:
|
||||
|
||||
if fileDialog.ShowModal() == wx.ID_CANCEL:
|
||||
return # the user changed their mind
|
||||
|
||||
# save the current contents in the file
|
||||
pathname = fileDialog.GetPath()
|
||||
try:
|
||||
with open(pathname, 'w') as file:
|
||||
self.doSaveData(file)
|
||||
except IOError:
|
||||
wx.LogError("Cannot save current data in file '%s'." % pathname)
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ def run():
|
||||
|
||||
# context manager methods
|
||||
c.addPyMethod('__enter__', '(self)', 'return self')
|
||||
c.addPyMethod('__exit__', '(self, exc_type, exc_val, exc_tb)', 'self.Destroy()')
|
||||
c.addPyMethod('__exit__', '(self, exc_type, exc_val, exc_tb)', 'return False')
|
||||
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
|
||||
@@ -12,6 +12,11 @@ class busyinfo_Tests(wtc.WidgetTestCase):
|
||||
del busy
|
||||
|
||||
|
||||
def test_busyinfo2(self):
|
||||
with wx.BusyInfo('This is a busy info message'):
|
||||
self.waitFor(250)
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user