wxPython-zombie 3.1.5.8__cp313-cp313-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wx/__init__.py +22 -0
- wx/__version__.py +9 -0
- wx/_adv.cp313-win_amd64.pyd +0 -0
- wx/_aui.cp313-win_amd64.pyd +0 -0
- wx/_core.cp313-win_amd64.pyd +0 -0
- wx/_dataview.cp313-win_amd64.pyd +0 -0
- wx/_glcanvas.cp313-win_amd64.pyd +0 -0
- wx/_grid.cp313-win_amd64.pyd +0 -0
- wx/_html.cp313-win_amd64.pyd +0 -0
- wx/_html2.cp313-win_amd64.pyd +0 -0
- wx/_media.cp313-win_amd64.pyd +0 -0
- wx/_msw.cp313-win_amd64.pyd +0 -0
- wx/_propgrid.cp313-win_amd64.pyd +0 -0
- wx/_ribbon.cp313-win_amd64.pyd +0 -0
- wx/_richtext.cp313-win_amd64.pyd +0 -0
- wx/_stc.cp313-win_amd64.pyd +0 -0
- wx/_xml.cp313-win_amd64.pyd +0 -0
- wx/_xrc.cp313-win_amd64.pyd +0 -0
- wx/adv.py +124 -0
- wx/adv.pyi +5182 -0
- wx/aui.py +77 -0
- wx/aui.pyi +3655 -0
- wx/core.py +3540 -0
- wx/core.pyi +50592 -0
- wx/dataview.py +173 -0
- wx/dataview.pyi +3491 -0
- wx/demo/AUI_DockingWindowMgr.py +1154 -0
- wx/demo/AUI_MDI.py +117 -0
- wx/demo/AUI_Notebook.py +58 -0
- wx/demo/About.py +75 -0
- wx/demo/AboutBox.py +75 -0
- wx/demo/ActiveXWrapper_Acrobat.py +132 -0
- wx/demo/ActiveXWrapper_IE.py +187 -0
- wx/demo/ActiveX_FlashWindow.py +107 -0
- wx/demo/ActiveX_IEHtmlWindow.py +242 -0
- wx/demo/ActiveX_PDFWindow.py +204 -0
- wx/demo/ActivityIndicator.py +80 -0
- wx/demo/AddPrivateFont.py +116 -0
- wx/demo/AdjustChannels.py +178 -0
- wx/demo/AlphaDrawing.py +77 -0
- wx/demo/AnalogClock.py +144 -0
- wx/demo/AnimationCtrl.py +104 -0
- wx/demo/ArtProvider.py +893 -0
- wx/demo/BannerWindow.py +1 -0
- wx/demo/BitmapButton.py +87 -0
- wx/demo/BitmapComboBox.py +63 -0
- wx/demo/BitmapFromBuffer.py +140 -0
- wx/demo/Button.py +77 -0
- wx/demo/Cairo.py +197 -0
- wx/demo/Cairo_Snippets.py +135 -0
- wx/demo/Calendar.py +660 -0
- wx/demo/CalendarCtrl.py +122 -0
- wx/demo/CheckBox.py +74 -0
- wx/demo/CheckListBox.py +79 -0
- wx/demo/CheckListCtrl.py +99 -0
- wx/demo/Choice.py +55 -0
- wx/demo/Choicebook.py +80 -0
- wx/demo/CollapsibleHeaderCtrl.py +85 -0
- wx/demo/CollapsiblePane.py +126 -0
- wx/demo/ColorPanel.py +19 -0
- wx/demo/ColourDB.py +203 -0
- wx/demo/ColourDialog.py +76 -0
- wx/demo/ColourSelect.py +119 -0
- wx/demo/ComboBox.py +111 -0
- wx/demo/ComboCtrl.py +153 -0
- wx/demo/ComboTreeBox.py +71 -0
- wx/demo/CommandLinkButton.py +50 -0
- wx/demo/ContextHelp.py +112 -0
- wx/demo/Cursor.py +336 -0
- wx/demo/CustomDragAndDrop.py +353 -0
- wx/demo/DVC_CustomRenderer.py +204 -0
- wx/demo/DVC_DataViewModel.py +365 -0
- wx/demo/DVC_IndexListModel.py +257 -0
- wx/demo/DVC_ListCtrl.py +69 -0
- wx/demo/DVC_TreeCtrl.py +76 -0
- wx/demo/DatePickerCtrl.py +68 -0
- wx/demo/DelayedResult.py +239 -0
- wx/demo/Dialog.py +169 -0
- wx/demo/DialogUnits.py +128 -0
- wx/demo/DirDialog.py +58 -0
- wx/demo/DragAndDrop.py +265 -0
- wx/demo/DragImage.py +316 -0
- wx/demo/DragScroller.py +59 -0
- wx/demo/DrawXXXList.py +436 -0
- wx/demo/DynamicSashWindow.py +177 -0
- wx/demo/EditableListBox.py +101 -0
- wx/demo/Editor.py +70 -0
- wx/demo/EventManager.py +291 -0
- wx/demo/ExpandoTextCtrl.py +164 -0
- wx/demo/FancyText.py +83 -0
- wx/demo/FileBrowseButton.py +100 -0
- wx/demo/FileCtrl.py +97 -0
- wx/demo/FileDialog.py +144 -0
- wx/demo/FileHistory.py +140 -0
- wx/demo/FindReplaceDialog.py +123 -0
- wx/demo/FloatCanvas.py +1959 -0
- wx/demo/FontDialog.py +142 -0
- wx/demo/FontEnumerator.py +82 -0
- wx/demo/Frame.py +85 -0
- wx/demo/GLCanvas.py +371 -0
- wx/demo/Gauge.py +66 -0
- wx/demo/GenericButtons.py +185 -0
- wx/demo/GenericCheckBox.py +65 -0
- wx/demo/GenericDirCtrl.py +74 -0
- wx/demo/GetMouseState.py +159 -0
- wx/demo/GraphicsContext.py +236 -0
- wx/demo/GraphicsGradient.py +281 -0
- wx/demo/Grid.py +95 -0
- wx/demo/GridBagSizer.py +170 -0
- wx/demo/GridCustEditor.py +247 -0
- wx/demo/GridCustTable.py +170 -0
- wx/demo/GridDragAndDrop.py +102 -0
- wx/demo/GridDragable.py +206 -0
- wx/demo/GridEnterHandler.py +66 -0
- wx/demo/GridHugeTable.py +89 -0
- wx/demo/GridLabelRenderer.py +114 -0
- wx/demo/GridSimple.py +270 -0
- wx/demo/GridStdEdRend.py +186 -0
- wx/demo/Grid_MegaExample.py +490 -0
- wx/demo/HTML2_WebView.py +183 -0
- wx/demo/HtmlWindow.py +232 -0
- wx/demo/I18N.py +237 -0
- wx/demo/Image.py +338 -0
- wx/demo/ImageAlpha.py +87 -0
- wx/demo/ImageBrowser.py +70 -0
- wx/demo/ImageFromStream.py +49 -0
- wx/demo/Img2PyArtProvider.py +99 -0
- wx/demo/InfoBar.py +127 -0
- wx/demo/IntCtrl.py +343 -0
- wx/demo/ItemsPicker.py +108 -0
- wx/demo/Joystick.py +1083 -0
- wx/demo/KeyEvents.py +428 -0
- wx/demo/LEDNumberCtrl.py +121 -0
- wx/demo/LayoutAnchors.py +258 -0
- wx/demo/LayoutConstraints.py +149 -0
- wx/demo/Layoutf.py +69 -0
- wx/demo/ListBox.py +164 -0
- wx/demo/ListCtrl.py +538 -0
- wx/demo/ListCtrl_edit.py +155 -0
- wx/demo/ListCtrl_virtual.py +145 -0
- wx/demo/Listbook.py +104 -0
- wx/demo/MDIDemo.py +86 -0
- wx/demo/MDISashDemo.py +152 -0
- wx/demo/MDIWindows.py +66 -0
- wx/demo/Main.py +2768 -0
- wx/demo/Mask.py +137 -0
- wx/demo/MaskedEditControls.py +648 -0
- wx/demo/MaskedNumCtrl.py +359 -0
- wx/demo/MediaCtrl.py +190 -0
- wx/demo/Menu.py +322 -0
- wx/demo/MessageDialog.py +54 -0
- wx/demo/MimeTypesManager.py +354 -0
- wx/demo/MiniFrame.py +67 -0
- wx/demo/MouseGestures.py +198 -0
- wx/demo/MultiChoiceDialog.py +59 -0
- wx/demo/MultiSash.py +95 -0
- wx/demo/MultiSplitterWindow.py +168 -0
- wx/demo/MultipleChoiceDialog.py +101 -0
- wx/demo/Notebook.py +134 -0
- wx/demo/NotificationMessage.py +61 -0
- wx/demo/OGL.py +433 -0
- wx/demo/Overlay.py +209 -0
- wx/demo/OwnerDrawnComboBox.py +152 -0
- wx/demo/PDFViewer.py +109 -0
- wx/demo/PageSetupDialog.py +70 -0
- wx/demo/PenAndBrushStyles.py +208 -0
- wx/demo/Pickers.py +120 -0
- wx/demo/PlateButton.py +430 -0
- wx/demo/PopupControl.py +99 -0
- wx/demo/PopupMenu.py +156 -0
- wx/demo/PopupWindow.py +227 -0
- wx/demo/PrintDialog.py +60 -0
- wx/demo/PrintFramework.py +227 -0
- wx/demo/Process.py +168 -0
- wx/demo/ProgressDialog.py +87 -0
- wx/demo/PropertyGrid.py +1045 -0
- wx/demo/PropertySheetDialog.py +231 -0
- wx/demo/PseudoDC.py +350 -0
- wx/demo/PyColourChooser.py +60 -0
- wx/demo/PyCrust.py +21 -0
- wx/demo/PyPlot.py +83 -0
- wx/demo/PyShell.py +22 -0
- wx/demo/PythonEvents.py +109 -0
- wx/demo/README.txt +7 -0
- wx/demo/RadioBox.py +67 -0
- wx/demo/RadioButton.py +127 -0
- wx/demo/RawBitmapAccess.py +208 -0
- wx/demo/RearrangeDialog.py +160 -0
- wx/demo/RendererNative.py +170 -0
- wx/demo/ResizeWidget.py +76 -0
- wx/demo/RichMessageDialog.py +85 -0
- wx/demo/RichTextCtrl.py +732 -0
- wx/demo/RichToolTip.py +145 -0
- wx/demo/SVGImage_Bitmap.py +130 -0
- wx/demo/SVGImage_Render.py +138 -0
- wx/demo/SashWindow.py +151 -0
- wx/demo/ScrolledMessageDialog.py +52 -0
- wx/demo/ScrolledPanel.py +124 -0
- wx/demo/ScrolledWindow.py +260 -0
- wx/demo/SearchCtrl.py +115 -0
- wx/demo/ShapedWindow.py +145 -0
- wx/demo/Simplebook.py +202 -0
- wx/demo/SingleChoiceDialog.py +56 -0
- wx/demo/SizedControls.py +433 -0
- wx/demo/Sizers.py +609 -0
- wx/demo/Slider.py +52 -0
- wx/demo/Sound.py +95 -0
- wx/demo/SpinButton.py +63 -0
- wx/demo/SpinCtrl.py +56 -0
- wx/demo/SpinCtrlDouble.py +42 -0
- wx/demo/SplitTree.py +146 -0
- wx/demo/SplitterWindow.py +62 -0
- wx/demo/StandardPaths.py +113 -0
- wx/demo/StaticBitmap.py +55 -0
- wx/demo/StaticBox.py +62 -0
- wx/demo/StaticText.py +69 -0
- wx/demo/StatusBar.py +144 -0
- wx/demo/StockButtons.py +113 -0
- wx/demo/StyledTextCtrl_1.py +303 -0
- wx/demo/StyledTextCtrl_2.py +410 -0
- wx/demo/SystemSettings.py +333 -0
- wx/demo/TablePrint.py +215 -0
- wx/demo/TestTable.txt +38 -0
- wx/demo/TextCtrl.py +187 -0
- wx/demo/TextEntryDialog.py +57 -0
- wx/demo/Threads.py +258 -0
- wx/demo/Throbber.py +250 -0
- wx/demo/Ticker.py +147 -0
- wx/demo/TimeCtrl.py +240 -0
- wx/demo/TimePickerCtrl.py +60 -0
- wx/demo/Timer.py +275 -0
- wx/demo/ToggleButton.py +54 -0
- wx/demo/ToolBar.py +249 -0
- wx/demo/ToolTip.py +71 -0
- wx/demo/Toolbook.py +111 -0
- wx/demo/TreeCtrl.py +199 -0
- wx/demo/TreeListCtrl.py +121 -0
- wx/demo/TreeMixin.py +269 -0
- wx/demo/Treebook.py +117 -0
- wx/demo/UIActionSimulator.py +151 -0
- wx/demo/URLDragAndDrop.py +130 -0
- wx/demo/Unicode.py +146 -0
- wx/demo/VListBox.py +176 -0
- wx/demo/Validator.py +237 -0
- wx/demo/Wizard.py +248 -0
- wx/demo/WrapSizer.py +115 -0
- wx/demo/XmlResource.py +80 -0
- wx/demo/XmlResourceHandler.py +199 -0
- wx/demo/XmlResourceSubclass.py +119 -0
- wx/demo/__init__.py +9 -0
- wx/demo/agw/AGWInfoBar.py +175 -0
- wx/demo/agw/AUI.py +3058 -0
- wx/demo/agw/AdvancedSplash.py +59 -0
- wx/demo/agw/AquaButton.py +146 -0
- wx/demo/agw/BalloonTip.py +378 -0
- wx/demo/agw/ButtonPanel.py +890 -0
- wx/demo/agw/CubeColourDialog.py +83 -0
- wx/demo/agw/CustomTreeCtrl.py +2167 -0
- wx/demo/agw/Example1 +67 -0
- wx/demo/agw/Example2 +49 -0
- wx/demo/agw/FlatMenu.py +876 -0
- wx/demo/agw/FlatNotebook.py +994 -0
- wx/demo/agw/FloatSpin.py +475 -0
- wx/demo/agw/FoldPanelBar.py +953 -0
- wx/demo/agw/FourWaySplitter.py +300 -0
- wx/demo/agw/GenericMessageDialog.py +207 -0
- wx/demo/agw/GradientButton.py +156 -0
- wx/demo/agw/HyperLinkCtrl.py +144 -0
- wx/demo/agw/HyperTreeList.py +2660 -0
- wx/demo/agw/KnobCtrl.py +186 -0
- wx/demo/agw/LabelBook.py +567 -0
- wx/demo/agw/MacLargeDemo.py +360 -0
- wx/demo/agw/MultiDirDialog.py +117 -0
- wx/demo/agw/PeakMeter.py +194 -0
- wx/demo/agw/PersistentControls.py +589 -0
- wx/demo/agw/PieCtrl.py +206 -0
- wx/demo/agw/PyBusyInfo.py +64 -0
- wx/demo/agw/PyCollapsiblePane.py +308 -0
- wx/demo/agw/PyGauge.py +162 -0
- wx/demo/agw/PyProgress.py +155 -0
- wx/demo/agw/RibbonBar.py +925 -0
- wx/demo/agw/RulerCtrl.py +454 -0
- wx/demo/agw/ScrolledThumbnail.py +128 -0
- wx/demo/agw/ShapedButton.py +603 -0
- wx/demo/agw/ShortcutEditor.py +397 -0
- wx/demo/agw/SpeedMeter.py +668 -0
- wx/demo/agw/SuperToolTip.py +396 -0
- wx/demo/agw/ThumbDemoConfig.py +603 -0
- wx/demo/agw/ThumbnailCtrl.py +149 -0
- wx/demo/agw/ToasterBox.py +410 -0
- wx/demo/agw/UltimateListCtrl.py +80 -0
- wx/demo/agw/UltimateListIconDemo.py +908 -0
- wx/demo/agw/UltimateListListDemo.py +124 -0
- wx/demo/agw/UltimateReportDemo.py +1146 -0
- wx/demo/agw/UltimateVirtualDemo.py +207 -0
- wx/demo/agw/Windows7Explorer_Contents.py +368 -0
- wx/demo/agw/XLSGrid.py +238 -0
- wx/demo/agw/ZoomBar.py +230 -0
- wx/demo/agw/__demo__.py +183 -0
- wx/demo/agw/bitmaps/Explorer96.png +0 -0
- wx/demo/agw/bitmaps/Explorer96Flip40.png +0 -0
- wx/demo/agw/bitmaps/Folder96.png +0 -0
- wx/demo/agw/bitmaps/Folder96Flip40.png +0 -0
- wx/demo/agw/bitmaps/Monitor96.png +0 -0
- wx/demo/agw/bitmaps/Monitor96Flip40.png +0 -0
- wx/demo/agw/bitmaps/Music96.png +0 -0
- wx/demo/agw/bitmaps/Music96Flip40.png +0 -0
- wx/demo/agw/bitmaps/Photo96.png +0 -0
- wx/demo/agw/bitmaps/Photo96Flip40.png +0 -0
- wx/demo/agw/bitmaps/Search96.png +0 -0
- wx/demo/agw/bitmaps/Search96Flip40.png +0 -0
- wx/demo/agw/bitmaps/Wizard96.png +0 -0
- wx/demo/agw/bitmaps/Wizard96Flip40.png +0 -0
- wx/demo/agw/bitmaps/advancedsplash.png +0 -0
- wx/demo/agw/bitmaps/aquabutton.png +0 -0
- wx/demo/agw/bitmaps/aquachecked.ico +0 -0
- wx/demo/agw/bitmaps/aquaflagged.ico +0 -0
- wx/demo/agw/bitmaps/aquanotchecked.ico +0 -0
- wx/demo/agw/bitmaps/aquanotflagged.ico +0 -0
- wx/demo/agw/bitmaps/canada.gif +0 -0
- wx/demo/agw/bitmaps/checked.ico +0 -0
- wx/demo/agw/bitmaps/columns.png +0 -0
- wx/demo/agw/bitmaps/contexthelp-16.png +0 -0
- wx/demo/agw/bitmaps/contexthelp.png +0 -0
- wx/demo/agw/bitmaps/copy.png +0 -0
- wx/demo/agw/bitmaps/cut.png +0 -0
- wx/demo/agw/bitmaps/editcopy.png +0 -0
- wx/demo/agw/bitmaps/editcut.png +0 -0
- wx/demo/agw/bitmaps/editpaste.png +0 -0
- wx/demo/agw/bitmaps/empty_icon.png +0 -0
- wx/demo/agw/bitmaps/exit-16.png +0 -0
- wx/demo/agw/bitmaps/exit.ico +0 -0
- wx/demo/agw/bitmaps/ffwd.png +0 -0
- wx/demo/agw/bitmaps/ffwddisabled.png +0 -0
- wx/demo/agw/bitmaps/field-16.png +0 -0
- wx/demo/agw/bitmaps/filenew.png +0 -0
- wx/demo/agw/bitmaps/fileopen.png +0 -0
- wx/demo/agw/bitmaps/filesave.png +0 -0
- wx/demo/agw/bitmaps/flagged.ico +0 -0
- wx/demo/agw/bitmaps/folder.png +0 -0
- wx/demo/agw/bitmaps/folder_new.png +0 -0
- wx/demo/agw/bitmaps/ghost.png +0 -0
- wx/demo/agw/bitmaps/gradientbutton.png +0 -0
- wx/demo/agw/bitmaps/help-16.png +0 -0
- wx/demo/agw/bitmaps/help.ico +0 -0
- wx/demo/agw/bitmaps/italy.gif +0 -0
- wx/demo/agw/bitmaps/lbadd.png +0 -0
- wx/demo/agw/bitmaps/lbcharge.png +0 -0
- wx/demo/agw/bitmaps/lbdecrypted.png +0 -0
- wx/demo/agw/bitmaps/lbnews.png +0 -0
- wx/demo/agw/bitmaps/lbroll.png +0 -0
- wx/demo/agw/bitmaps/minus1.ico +0 -0
- wx/demo/agw/bitmaps/minus2.ico +0 -0
- wx/demo/agw/bitmaps/minus3.ico +0 -0
- wx/demo/agw/bitmaps/minus4.ico +0 -0
- wx/demo/agw/bitmaps/minus5.ico +0 -0
- wx/demo/agw/bitmaps/month-16.png +0 -0
- wx/demo/agw/bitmaps/new_file.png +0 -0
- wx/demo/agw/bitmaps/new_folder.png +0 -0
- wx/demo/agw/bitmaps/notchecked.ico +0 -0
- wx/demo/agw/bitmaps/notflagged.ico +0 -0
- wx/demo/agw/bitmaps/ok-16.png +0 -0
- wx/demo/agw/bitmaps/open_folder.png +0 -0
- wx/demo/agw/bitmaps/paste.png +0 -0
- wx/demo/agw/bitmaps/pause.png +0 -0
- wx/demo/agw/bitmaps/pausedisabled.png +0 -0
- wx/demo/agw/bitmaps/play.png +0 -0
- wx/demo/agw/bitmaps/playdisabled.png +0 -0
- wx/demo/agw/bitmaps/plus1.ico +0 -0
- wx/demo/agw/bitmaps/plus2.ico +0 -0
- wx/demo/agw/bitmaps/plus3.ico +0 -0
- wx/demo/agw/bitmaps/plus4.ico +0 -0
- wx/demo/agw/bitmaps/plus5.ico +0 -0
- wx/demo/agw/bitmaps/record.png +0 -0
- wx/demo/agw/bitmaps/recorddisabled.png +0 -0
- wx/demo/agw/bitmaps/recording.gif +0 -0
- wx/demo/agw/bitmaps/rewind.png +0 -0
- wx/demo/agw/bitmaps/rewinddisabled.png +0 -0
- wx/demo/agw/bitmaps/round.png +0 -0
- wx/demo/agw/bitmaps/save.png +0 -0
- wx/demo/agw/bitmaps/separator.gif +0 -0
- wx/demo/agw/bitmaps/separatorflip.png +0 -0
- wx/demo/agw/bitmaps/smfuel.ico +0 -0
- wx/demo/agw/bitmaps/smpi.ico +0 -0
- wx/demo/agw/bitmaps/smtemp.ico +0 -0
- wx/demo/agw/bitmaps/stop.png +0 -0
- wx/demo/agw/bitmaps/stopdisabled.png +0 -0
- wx/demo/agw/bitmaps/sttbutton.png +0 -0
- wx/demo/agw/bitmaps/sttfont.png +0 -0
- wx/demo/agw/bitmaps/sttheader.png +0 -0
- wx/demo/agw/bitmaps/stthelp.png +0 -0
- wx/demo/agw/bitmaps/view1.png +0 -0
- wx/demo/agw/bitmaps/view2.png +0 -0
- wx/demo/agw/bitmaps/view_choose.png +0 -0
- wx/demo/agw/bitmaps/view_detailed.png +0 -0
- wx/demo/agw/bitmaps/view_icon.png +0 -0
- wx/demo/agw/bitmaps/view_multicolumn.png +0 -0
- wx/demo/agw/bitmaps/viewmag-16.png +0 -0
- wx/demo/agw/bitmaps/viewmag-m-16.png +0 -0
- wx/demo/agw/bitmaps/viewmag-p-16.png +0 -0
- wx/demo/agw/bitmaps/viewmagfit-16.png +0 -0
- wx/demo/agw/data/Example_1.xls +0 -0
- wx/demo/agw/images.py +6714 -0
- wx/demo/bitmaps/AG00028_.gif +0 -0
- wx/demo/bitmaps/AG00039_.gif +0 -0
- wx/demo/bitmaps/AG00178_.gif +0 -0
- wx/demo/bitmaps/AG00183_.gif +0 -0
- wx/demo/bitmaps/AG00185_.gif +0 -0
- wx/demo/bitmaps/BD13656_.gif +0 -0
- wx/demo/bitmaps/advancedsplash.png +0 -0
- wx/demo/bitmaps/aquabutton.png +0 -0
- wx/demo/bitmaps/aquachecked.ico +0 -0
- wx/demo/bitmaps/aquaflagged.ico +0 -0
- wx/demo/bitmaps/aquanotchecked.ico +0 -0
- wx/demo/bitmaps/aquanotflagged.ico +0 -0
- wx/demo/bitmaps/canada.gif +0 -0
- wx/demo/bitmaps/checked.ico +0 -0
- wx/demo/bitmaps/columns.png +0 -0
- wx/demo/bitmaps/contexthelp-16.png +0 -0
- wx/demo/bitmaps/contexthelp.png +0 -0
- wx/demo/bitmaps/copy.png +0 -0
- wx/demo/bitmaps/cropshot24x20.png +0 -0
- wx/demo/bitmaps/cut.png +0 -0
- wx/demo/bitmaps/editcopy.png +0 -0
- wx/demo/bitmaps/editcut.png +0 -0
- wx/demo/bitmaps/editpaste.png +0 -0
- wx/demo/bitmaps/exit-16.png +0 -0
- wx/demo/bitmaps/exit.ico +0 -0
- wx/demo/bitmaps/ffwd.png +0 -0
- wx/demo/bitmaps/ffwddisabled.png +0 -0
- wx/demo/bitmaps/field-16.png +0 -0
- wx/demo/bitmaps/filenew.png +0 -0
- wx/demo/bitmaps/fileopen.png +0 -0
- wx/demo/bitmaps/filesave.png +0 -0
- wx/demo/bitmaps/flagged.ico +0 -0
- wx/demo/bitmaps/folder_new.png +0 -0
- wx/demo/bitmaps/ghost.png +0 -0
- wx/demo/bitmaps/gradientbutton.png +0 -0
- wx/demo/bitmaps/help-16.png +0 -0
- wx/demo/bitmaps/help.ico +0 -0
- wx/demo/bitmaps/honeycomb300.png +0 -0
- wx/demo/bitmaps/image.bmp +0 -0
- wx/demo/bitmaps/image.gif +0 -0
- wx/demo/bitmaps/image.ico +0 -0
- wx/demo/bitmaps/image.jpg +0 -0
- wx/demo/bitmaps/image.png +0 -0
- wx/demo/bitmaps/image.tif +0 -0
- wx/demo/bitmaps/italy.gif +0 -0
- wx/demo/bitmaps/lbadd.png +0 -0
- wx/demo/bitmaps/lbcharge.png +0 -0
- wx/demo/bitmaps/lbdecrypted.png +0 -0
- wx/demo/bitmaps/lbnews.png +0 -0
- wx/demo/bitmaps/lbroll.png +0 -0
- wx/demo/bitmaps/minus1.ico +0 -0
- wx/demo/bitmaps/minus2.ico +0 -0
- wx/demo/bitmaps/minus3.ico +0 -0
- wx/demo/bitmaps/minus4.ico +0 -0
- wx/demo/bitmaps/minus5.ico +0 -0
- wx/demo/bitmaps/month-16.png +0 -0
- wx/demo/bitmaps/new_file.png +0 -0
- wx/demo/bitmaps/new_folder.png +0 -0
- wx/demo/bitmaps/notchecked.ico +0 -0
- wx/demo/bitmaps/notflagged.ico +0 -0
- wx/demo/bitmaps/ok-16.png +0 -0
- wx/demo/bitmaps/open_folder.png +0 -0
- wx/demo/bitmaps/paste.png +0 -0
- wx/demo/bitmaps/pause.png +0 -0
- wx/demo/bitmaps/pausedisabled.png +0 -0
- wx/demo/bitmaps/phoenix_title.png +0 -0
- wx/demo/bitmaps/phoenix_top.png +0 -0
- wx/demo/bitmaps/play.png +0 -0
- wx/demo/bitmaps/playdisabled.png +0 -0
- wx/demo/bitmaps/plus1.ico +0 -0
- wx/demo/bitmaps/plus2.ico +0 -0
- wx/demo/bitmaps/plus3.ico +0 -0
- wx/demo/bitmaps/plus4.ico +0 -0
- wx/demo/bitmaps/plus5.ico +0 -0
- wx/demo/bitmaps/record.png +0 -0
- wx/demo/bitmaps/recorddisabled.png +0 -0
- wx/demo/bitmaps/rewind.png +0 -0
- wx/demo/bitmaps/rewinddisabled.png +0 -0
- wx/demo/bitmaps/round.png +0 -0
- wx/demo/bitmaps/save.png +0 -0
- wx/demo/bitmaps/smfuel.ico +0 -0
- wx/demo/bitmaps/smpi.ico +0 -0
- wx/demo/bitmaps/smtemp.ico +0 -0
- wx/demo/bitmaps/snakey_render.png +0 -0
- wx/demo/bitmaps/splash.png +0 -0
- wx/demo/bitmaps/stop.png +0 -0
- wx/demo/bitmaps/stopdisabled.png +0 -0
- wx/demo/bitmaps/sttbutton.png +0 -0
- wx/demo/bitmaps/sttfont.png +0 -0
- wx/demo/bitmaps/sttheader.png +0 -0
- wx/demo/bitmaps/stthelp.png +0 -0
- wx/demo/bitmaps/toucan.png +0 -0
- wx/demo/bitmaps/view1.png +0 -0
- wx/demo/bitmaps/view2.png +0 -0
- wx/demo/bitmaps/view_choose.png +0 -0
- wx/demo/bitmaps/view_detailed.png +0 -0
- wx/demo/bitmaps/view_icon.png +0 -0
- wx/demo/bitmaps/view_multicolumn.png +0 -0
- wx/demo/bitmaps/viewmag-16.png +0 -0
- wx/demo/bitmaps/viewmag-m-16.png +0 -0
- wx/demo/bitmaps/viewmag-p-16.png +0 -0
- wx/demo/bitmaps/viewmagfit-16.png +0 -0
- wx/demo/bmp_source/001.png +0 -0
- wx/demo/bmp_source/002.png +0 -0
- wx/demo/bmp_source/003.png +0 -0
- wx/demo/bmp_source/004.png +0 -0
- wx/demo/bmp_source/005.png +0 -0
- wx/demo/bmp_source/006.png +0 -0
- wx/demo/bmp_source/007.png +0 -0
- wx/demo/bmp_source/008.png +0 -0
- wx/demo/bmp_source/009.png +0 -0
- wx/demo/bmp_source/010.png +0 -0
- wx/demo/bmp_source/011.png +0 -0
- wx/demo/bmp_source/012.png +0 -0
- wx/demo/bmp_source/013.png +0 -0
- wx/demo/bmp_source/014.png +0 -0
- wx/demo/bmp_source/015.png +0 -0
- wx/demo/bmp_source/016.png +0 -0
- wx/demo/bmp_source/017.png +0 -0
- wx/demo/bmp_source/018.png +0 -0
- wx/demo/bmp_source/019.png +0 -0
- wx/demo/bmp_source/020.png +0 -0
- wx/demo/bmp_source/021.png +0 -0
- wx/demo/bmp_source/022.png +0 -0
- wx/demo/bmp_source/023.png +0 -0
- wx/demo/bmp_source/024.png +0 -0
- wx/demo/bmp_source/025.png +0 -0
- wx/demo/bmp_source/026.png +0 -0
- wx/demo/bmp_source/027.png +0 -0
- wx/demo/bmp_source/028.png +0 -0
- wx/demo/bmp_source/029.png +0 -0
- wx/demo/bmp_source/030.png +0 -0
- wx/demo/bmp_source/DbDec.bmp +0 -0
- wx/demo/bmp_source/DbInc.bmp +0 -0
- wx/demo/bmp_source/Dec.bmp +0 -0
- wx/demo/bmp_source/FRM_0.png +0 -0
- wx/demo/bmp_source/FRM_1.png +0 -0
- wx/demo/bmp_source/FRM_2.png +0 -0
- wx/demo/bmp_source/FRM_3.png +0 -0
- wx/demo/bmp_source/FRM_4.png +0 -0
- wx/demo/bmp_source/FRM_5.png +0 -0
- wx/demo/bmp_source/FRM_6.png +0 -0
- wx/demo/bmp_source/FRM_7.png +0 -0
- wx/demo/bmp_source/FRM_8.png +0 -0
- wx/demo/bmp_source/GridBG.gif +0 -0
- wx/demo/bmp_source/Inc.bmp +0 -0
- wx/demo/bmp_source/LB01.png +0 -0
- wx/demo/bmp_source/LB02.png +0 -0
- wx/demo/bmp_source/LB03.png +0 -0
- wx/demo/bmp_source/LB04.png +0 -0
- wx/demo/bmp_source/LB05.png +0 -0
- wx/demo/bmp_source/LB06.png +0 -0
- wx/demo/bmp_source/LB07.png +0 -0
- wx/demo/bmp_source/LB08.png +0 -0
- wx/demo/bmp_source/LB09.png +0 -0
- wx/demo/bmp_source/LB10.png +0 -0
- wx/demo/bmp_source/LB11.png +0 -0
- wx/demo/bmp_source/LB12.png +0 -0
- wx/demo/bmp_source/Pt.bmp +0 -0
- wx/demo/bmp_source/Vippi.png +0 -0
- wx/demo/bmp_source/backgrnd.png +0 -0
- wx/demo/bmp_source/book.png +0 -0
- wx/demo/bmp_source/book_blue.png +0 -0
- wx/demo/bmp_source/book_green.png +0 -0
- wx/demo/bmp_source/book_red.png +0 -0
- wx/demo/bmp_source/bp_btn1.png +0 -0
- wx/demo/bmp_source/bp_btn2.png +0 -0
- wx/demo/bmp_source/bp_btn3.png +0 -0
- wx/demo/bmp_source/bp_btn4.png +0 -0
- wx/demo/bmp_source/bulb1.bmp +0 -0
- wx/demo/bmp_source/bulb2.bmp +0 -0
- wx/demo/bmp_source/carrot.png +0 -0
- wx/demo/bmp_source/clipboard.png +0 -0
- wx/demo/bmp_source/code.png +0 -0
- wx/demo/bmp_source/core.png +0 -0
- wx/demo/bmp_source/custom.png +0 -0
- wx/demo/bmp_source/customcontrol.png +0 -0
- wx/demo/bmp_source/deletedocs.png +0 -0
- wx/demo/bmp_source/deleteperspective.png +0 -0
- wx/demo/bmp_source/demo.png +0 -0
- wx/demo/bmp_source/dialog.png +0 -0
- wx/demo/bmp_source/exit.png +0 -0
- wx/demo/bmp_source/expansion.png +0 -0
- wx/demo/bmp_source/find.png +0 -0
- wx/demo/bmp_source/findnext.png +0 -0
- wx/demo/bmp_source/floatcanvas.png +0 -0
- wx/demo/bmp_source/frame.png +0 -0
- wx/demo/bmp_source/images.png +0 -0
- wx/demo/bmp_source/inspect.png +0 -0
- wx/demo/bmp_source/layout.png +0 -0
- wx/demo/bmp_source/logo.png +0 -0
- wx/demo/bmp_source/miscellaneous.png +0 -0
- wx/demo/bmp_source/modifiedexists.png +0 -0
- wx/demo/bmp_source/mondrian.ico +0 -0
- wx/demo/bmp_source/morecontrols.png +0 -0
- wx/demo/bmp_source/moredialog.png +0 -0
- wx/demo/bmp_source/noicon.png +0 -0
- wx/demo/bmp_source/overview.png +0 -0
- wx/demo/bmp_source/pencil.png +0 -0
- wx/demo/bmp_source/pointy.png +0 -0
- wx/demo/bmp_source/process.png +0 -0
- wx/demo/bmp_source/pyshell.png +0 -0
- wx/demo/bmp_source/recent.png +0 -0
- wx/demo/bmp_source/rest.png +0 -0
- wx/demo/bmp_source/robin.jpg +0 -0
- wx/demo/bmp_source/rt_alignleft.xpm +24 -0
- wx/demo/bmp_source/rt_alignright.xpm +24 -0
- wx/demo/bmp_source/rt_bold.xpm +24 -0
- wx/demo/bmp_source/rt_centre.xpm +24 -0
- wx/demo/bmp_source/rt_colour.xpm +59 -0
- wx/demo/bmp_source/rt_copy.xpm +44 -0
- wx/demo/bmp_source/rt_cut.xpm +46 -0
- wx/demo/bmp_source/rt_font.xpm +25 -0
- wx/demo/bmp_source/rt_idea.xpm +47 -0
- wx/demo/bmp_source/rt_indentless.xpm +25 -0
- wx/demo/bmp_source/rt_indentmore.xpm +25 -0
- wx/demo/bmp_source/rt_italic.xpm +25 -0
- wx/demo/bmp_source/rt_open.xpm +57 -0
- wx/demo/bmp_source/rt_paste.xpm +46 -0
- wx/demo/bmp_source/rt_redo.xpm +58 -0
- wx/demo/bmp_source/rt_sample.xpm +44 -0
- wx/demo/bmp_source/rt_save.xpm +42 -0
- wx/demo/bmp_source/rt_smiley.xpm +42 -0
- wx/demo/bmp_source/rt_underline.xpm +25 -0
- wx/demo/bmp_source/rt_undo.xpm +58 -0
- wx/demo/bmp_source/rt_zebra.xpm +409 -0
- wx/demo/bmp_source/saveperspective.png +0 -0
- wx/demo/bmp_source/sm_down.bmp +0 -0
- wx/demo/bmp_source/sm_up.bmp +0 -0
- wx/demo/bmp_source/smiles2.bmp +0 -0
- wx/demo/bmp_source/test2.bmp +0 -0
- wx/demo/bmp_source/testmask.bmp +0 -0
- wx/demo/bmp_source/teststar.png +0 -0
- wx/demo/bmp_source/thekid.png +0 -0
- wx/demo/bmp_source/tog1.bmp +0 -0
- wx/demo/bmp_source/tog2.bmp +0 -0
- wx/demo/bmp_source/wiztest1.bmp +0 -0
- wx/demo/bmp_source/wiztest2.bmp +0 -0
- wx/demo/bmp_source/wxpdemo.ico +0 -0
- wx/demo/cursors/paperairplane_arrow_blue.cur +0 -0
- wx/demo/cursors/paperairplane_arrow_blue_fadeout80.cur +0 -0
- wx/demo/cursors/paperairplane_arrow_colorshift.ani +0 -0
- wx/demo/cursors/paperairplane_arrow_dark.cur +0 -0
- wx/demo/cursors/paperairplane_arrow_grey.cur +0 -0
- wx/demo/cursors/paperairplane_arrow_red.cur +0 -0
- wx/demo/cursors/paperairplane_arrow_white.cur +0 -0
- wx/demo/cursors/paperairplane_arrow_white24.png +0 -0
- wx/demo/data/0-tiger.svg +725 -0
- wx/demo/data/Asteroid_blaster.swf +0 -0
- wx/demo/data/SIL_OPEN_FONT_LICENSE.txt +97 -0
- wx/demo/data/SourceCodePro-Regular.ttf +0 -0
- wx/demo/data/accessories-calculator.svg +636 -0
- wx/demo/data/accessories-text-editor.svg +554 -0
- wx/demo/data/anykey.wav +0 -0
- wx/demo/data/applications-internet.svg +623 -0
- wx/demo/data/desktop-accessibility.svg +245 -0
- wx/demo/data/desktop-keyboard-shortcuts.svg +839 -0
- wx/demo/data/desktop-locale.svg +878 -0
- wx/demo/data/desktop-remote-desktop.svg +1479 -0
- wx/demo/data/desktop-theme.svg +882 -0
- wx/demo/data/desktop-wallpaper.svg +747 -0
- wx/demo/data/echo.py +25 -0
- wx/demo/data/imagemap.htm +20 -0
- wx/demo/data/imagemap.png +0 -0
- wx/demo/data/internet-group-chat.svg +312 -0
- wx/demo/data/internet-mail.svg +440 -0
- wx/demo/data/locale/af/LC_MESSAGES/wxpydemo.mo +0 -0
- wx/demo/data/locale/de/LC_MESSAGES/wxpydemo.mo +0 -0
- wx/demo/data/locale/es/LC_MESSAGES/wxpydemo.mo +0 -0
- wx/demo/data/locale/fr/LC_MESSAGES/wxpydemo.mo +0 -0
- wx/demo/data/locale/it/LC_MESSAGES/wxpydemo.mo +0 -0
- wx/demo/data/locale-src/af.po +23 -0
- wx/demo/data/locale-src/de.po +23 -0
- wx/demo/data/locale-src/es.po +22 -0
- wx/demo/data/locale-src/fr.po +22 -0
- wx/demo/data/locale-src/install +15 -0
- wx/demo/data/locale-src/it.po +23 -0
- wx/demo/data/locale-src/wxpydemo.po +21 -0
- wx/demo/data/office-calendar.svg +316 -0
- wx/demo/data/pic.png +0 -0
- wx/demo/data/pic2.bmp +0 -0
- wx/demo/data/plan.wav +0 -0
- wx/demo/data/proclamation.txt +115 -0
- wx/demo/data/resource.wdr +0 -0
- wx/demo/data/resource_wdr.xrc +146 -0
- wx/demo/data/romedalen.png +0 -0
- wx/demo/data/stc.h.html +3544 -0
- wx/demo/data/system-session.svg +510 -0
- wx/demo/data/system-users.svg +539 -0
- wx/demo/data/tables.htm +116 -0
- wx/demo/data/test-gradient-pen.svg +14 -0
- wx/demo/data/test-opacity.svg +7 -0
- wx/demo/data/test.htm +253 -0
- wx/demo/data/testmovie.mpg +0 -0
- wx/demo/data/testtable.txt +38 -0
- wx/demo/data/tips.txt +73 -0
- wx/demo/data/utilities-system-monitor.svg +435 -0
- wx/demo/data/utilities-terminal.svg +500 -0
- wx/demo/data/widgetTest.htm +70 -0
- wx/demo/data/world.dat +24055 -0
- wx/demo/demo.py +4 -0
- wx/demo/demo.pyw +4 -0
- wx/demo/demodata.py +310 -0
- wx/demo/encode_bitmaps.py +181 -0
- wx/demo/images.py +6812 -0
- wx/demo/infoframe.py +149 -0
- wx/demo/run.py +171 -0
- wx/demo/snippets/__init__.py +13 -0
- wx/demo/snippets/arc.py +21 -0
- wx/demo/snippets/arc_negative.py +21 -0
- wx/demo/snippets/clip.py +13 -0
- wx/demo/snippets/clip_image.py +13 -0
- wx/demo/snippets/curve_rectangle.py +53 -0
- wx/demo/snippets/curve_to.py +17 -0
- wx/demo/snippets/dash.py +18 -0
- wx/demo/snippets/ellipse.py +33 -0
- wx/demo/snippets/fill_and_stroke.py +12 -0
- wx/demo/snippets/fill_and_stroke2.py +18 -0
- wx/demo/snippets/fill_style.py +31 -0
- wx/demo/snippets/glyph_path.py +21 -0
- wx/demo/snippets/gradient.py +16 -0
- wx/demo/snippets/gradient_mask.py +12 -0
- wx/demo/snippets/group.py +16 -0
- wx/demo/snippets/image.py +14 -0
- wx/demo/snippets/imagepattern.py +23 -0
- wx/demo/snippets/path.py +7 -0
- wx/demo/snippets/set_line_cap.py +19 -0
- wx/demo/snippets/set_line_join.py +21 -0
- wx/demo/snippets/show_glyphs.py +15 -0
- wx/demo/snippets/text.py +22 -0
- wx/demo/snippets/text_align_center.py +26 -0
- wx/demo/snippets/text_extents.py +27 -0
- wx/demo/template.py +36 -0
- wx/demo/throbImages.py +1277 -0
- wx/demo/version.py +3 -0
- wx/demo/widgetTest.py +72 -0
- wx/demo/wxpdemo.ico +0 -0
- wx/glcanvas.py +10 -0
- wx/glcanvas.pyi +458 -0
- wx/grid.py +229 -0
- wx/grid.pyi +4959 -0
- wx/html.py +35 -0
- wx/html.pyi +2965 -0
- wx/html2.py +40 -0
- wx/html2.pyi +772 -0
- wx/lib/CDate.py +202 -0
- wx/lib/ClickableHtmlWindow.py +57 -0
- wx/lib/__init__.py +0 -0
- wx/lib/activex.py +178 -0
- wx/lib/activexwrapper.py +153 -0
- wx/lib/agw/__init__.py +128 -0
- wx/lib/agw/advancedsplash.py +564 -0
- wx/lib/agw/aquabutton.py +1127 -0
- wx/lib/agw/artmanager.py +2110 -0
- wx/lib/agw/aui/__init__.py +295 -0
- wx/lib/agw/aui/aui_constants.py +2628 -0
- wx/lib/agw/aui/aui_switcherdialog.py +1227 -0
- wx/lib/agw/aui/aui_utilities.py +672 -0
- wx/lib/agw/aui/auibar.py +4031 -0
- wx/lib/agw/aui/auibook.py +6289 -0
- wx/lib/agw/aui/dockart.py +1198 -0
- wx/lib/agw/aui/framemanager.py +10409 -0
- wx/lib/agw/aui/tabart.py +2771 -0
- wx/lib/agw/aui/tabmdi.py +679 -0
- wx/lib/agw/balloontip.py +1158 -0
- wx/lib/agw/buttonpanel.py +2823 -0
- wx/lib/agw/cubecolourdialog.py +3529 -0
- wx/lib/agw/customtreectrl.py +8963 -0
- wx/lib/agw/data/ShortcutEditor_1.png +0 -0
- wx/lib/agw/data/ShortcutEditor_1_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_2.png +0 -0
- wx/lib/agw/data/ShortcutEditor_2_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_3.png +0 -0
- wx/lib/agw/data/ShortcutEditor_3_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_4.png +0 -0
- wx/lib/agw/data/ShortcutEditor_4_thumb.png +0 -0
- wx/lib/agw/data/default_help_text.html +105 -0
- wx/lib/agw/flatmenu.py +7333 -0
- wx/lib/agw/flatnotebook.py +6672 -0
- wx/lib/agw/floatspin.py +1823 -0
- wx/lib/agw/fmcustomizedlg.py +540 -0
- wx/lib/agw/fmresources.py +407 -0
- wx/lib/agw/foldpanelbar.py +2282 -0
- wx/lib/agw/fourwaysplitter.py +1130 -0
- wx/lib/agw/genericmessagedialog.py +1549 -0
- wx/lib/agw/gradientbutton.py +732 -0
- wx/lib/agw/hyperlink.py +664 -0
- wx/lib/agw/hypertreelist.py +5374 -0
- wx/lib/agw/infobar.py +885 -0
- wx/lib/agw/knobctrl.py +945 -0
- wx/lib/agw/labelbook.py +3029 -0
- wx/lib/agw/multidirdialog.py +615 -0
- wx/lib/agw/peakmeter.py +1029 -0
- wx/lib/agw/persist/__init__.py +188 -0
- wx/lib/agw/persist/persist_constants.py +284 -0
- wx/lib/agw/persist/persist_handlers.py +2614 -0
- wx/lib/agw/persist/persistencemanager.py +864 -0
- wx/lib/agw/piectrl.py +1082 -0
- wx/lib/agw/pybusyinfo.py +399 -0
- wx/lib/agw/pycollapsiblepane.py +940 -0
- wx/lib/agw/pygauge.py +570 -0
- wx/lib/agw/pyprogress.py +917 -0
- wx/lib/agw/ribbon/__init__.py +198 -0
- wx/lib/agw/ribbon/art.py +219 -0
- wx/lib/agw/ribbon/art_aui.py +1284 -0
- wx/lib/agw/ribbon/art_default.py +81 -0
- wx/lib/agw/ribbon/art_internal.py +244 -0
- wx/lib/agw/ribbon/art_msw.py +2736 -0
- wx/lib/agw/ribbon/art_osx.py +52 -0
- wx/lib/agw/ribbon/bar.py +1261 -0
- wx/lib/agw/ribbon/buttonbar.py +1320 -0
- wx/lib/agw/ribbon/control.py +205 -0
- wx/lib/agw/ribbon/gallery.py +974 -0
- wx/lib/agw/ribbon/page.py +946 -0
- wx/lib/agw/ribbon/panel.py +1170 -0
- wx/lib/agw/ribbon/toolbar.py +1442 -0
- wx/lib/agw/rulerctrl.py +1887 -0
- wx/lib/agw/scrolledthumbnail.py +2119 -0
- wx/lib/agw/shapedbutton.py +1809 -0
- wx/lib/agw/shortcuteditor.py +2634 -0
- wx/lib/agw/speedmeter.py +1801 -0
- wx/lib/agw/supertooltip.py +1444 -0
- wx/lib/agw/thumbnailctrl.py +529 -0
- wx/lib/agw/toasterbox.py +1327 -0
- wx/lib/agw/ultimatelistctrl.py +13666 -0
- wx/lib/agw/xlsgrid.py +2113 -0
- wx/lib/agw/zoombar.py +1339 -0
- wx/lib/analogclock/__init__.py +140 -0
- wx/lib/analogclock/analogclock.py +631 -0
- wx/lib/analogclock/helpers.py +991 -0
- wx/lib/analogclock/lib_setup/__init__.py +0 -0
- wx/lib/analogclock/lib_setup/buttontreectrlpanel.py +297 -0
- wx/lib/analogclock/lib_setup/fontselect.py +57 -0
- wx/lib/analogclock/setup.py +490 -0
- wx/lib/analogclock/styles.py +47 -0
- wx/lib/anchors.py +103 -0
- wx/lib/art/__init__.py +4 -0
- wx/lib/art/flagart.py +1583 -0
- wx/lib/art/img2pyartprov.py +56 -0
- wx/lib/busy.py +146 -0
- wx/lib/buttons.py +1141 -0
- wx/lib/calendar.py +1597 -0
- wx/lib/checkbox.py +837 -0
- wx/lib/colourchooser/__init__.py +38 -0
- wx/lib/colourchooser/canvas.py +145 -0
- wx/lib/colourchooser/intl.py +24 -0
- wx/lib/colourchooser/pycolourbox.py +89 -0
- wx/lib/colourchooser/pycolourchooser.py +629 -0
- wx/lib/colourchooser/pycolourslider.py +100 -0
- wx/lib/colourchooser/pypalette.py +211 -0
- wx/lib/colourdb.py +740 -0
- wx/lib/colourselect.py +385 -0
- wx/lib/colourutils.py +118 -0
- wx/lib/combotreebox.py +944 -0
- wx/lib/delayedresult.py +420 -0
- wx/lib/dialogs.py +510 -0
- wx/lib/docview.py +3210 -0
- wx/lib/dragscroller.py +79 -0
- wx/lib/editor/README.txt +77 -0
- wx/lib/editor/__init__.py +24 -0
- wx/lib/editor/editor.py +974 -0
- wx/lib/editor/images.py +15 -0
- wx/lib/editor/selection.py +44 -0
- wx/lib/embeddedimage.py +76 -0
- wx/lib/eventStack.py +136 -0
- wx/lib/eventwatcher.py +440 -0
- wx/lib/evtmgr.py +521 -0
- wx/lib/expando.py +393 -0
- wx/lib/fancytext.py +505 -0
- wx/lib/filebrowsebutton.py +459 -0
- wx/lib/flashwin.py +262 -0
- wx/lib/flashwin_old.py +651 -0
- wx/lib/floatcanvas/FCEvents.py +53 -0
- wx/lib/floatcanvas/FCObjects.py +2923 -0
- wx/lib/floatcanvas/FloatCanvas.py +1027 -0
- wx/lib/floatcanvas/GUIMode.py +396 -0
- wx/lib/floatcanvas/NavCanvas.py +161 -0
- wx/lib/floatcanvas/Resources.py +319 -0
- wx/lib/floatcanvas/ScreenShot.py +1788 -0
- wx/lib/floatcanvas/Utilities/BBox.py +314 -0
- wx/lib/floatcanvas/Utilities/Colors.py +137 -0
- wx/lib/floatcanvas/Utilities/GUI.py +91 -0
- wx/lib/floatcanvas/Utilities/__init__.py +7 -0
- wx/lib/floatcanvas/__init__.py +124 -0
- wx/lib/foldmenu.py +89 -0
- wx/lib/gestures.py +310 -0
- wx/lib/gizmos/__init__.py +18 -0
- wx/lib/gizmos/dynamicsash.py +1202 -0
- wx/lib/gizmos/ledctrl.py +300 -0
- wx/lib/gizmos/treelistctrl.py +87 -0
- wx/lib/graphics.py +1939 -0
- wx/lib/gridmovers.py +511 -0
- wx/lib/iewin.py +249 -0
- wx/lib/iewin_old.py +894 -0
- wx/lib/imagebrowser.py +856 -0
- wx/lib/imageutils.py +163 -0
- wx/lib/infoframe.py +490 -0
- wx/lib/inspection.py +1255 -0
- wx/lib/intctrl.py +1001 -0
- wx/lib/itemspicker.py +256 -0
- wx/lib/langlistctrl.py +480 -0
- wx/lib/layoutf.py +271 -0
- wx/lib/masked/__init__.py +27 -0
- wx/lib/masked/combobox.py +839 -0
- wx/lib/masked/ctrl.py +108 -0
- wx/lib/masked/ipaddrctrl.py +242 -0
- wx/lib/masked/maskededit.py +7279 -0
- wx/lib/masked/numctrl.py +2001 -0
- wx/lib/masked/textctrl.py +465 -0
- wx/lib/masked/timectrl.py +1466 -0
- wx/lib/mixins/__init__.py +17 -0
- wx/lib/mixins/grid.py +47 -0
- wx/lib/mixins/gridlabelrenderer.py +251 -0
- wx/lib/mixins/imagelist.py +77 -0
- wx/lib/mixins/inspection.py +184 -0
- wx/lib/mixins/listctrl.py +894 -0
- wx/lib/mixins/rubberband.py +404 -0
- wx/lib/mixins/treemixin.py +678 -0
- wx/lib/msgpanel.py +95 -0
- wx/lib/multisash.py +747 -0
- wx/lib/myole4ax.idl +178 -0
- wx/lib/myole4ax.tlb +0 -0
- wx/lib/newevent.py +229 -0
- wx/lib/nvdlg.py +156 -0
- wx/lib/ogl/__init__.py +13 -0
- wx/lib/ogl/basic.py +3991 -0
- wx/lib/ogl/bmpshape.py +87 -0
- wx/lib/ogl/canvas.py +467 -0
- wx/lib/ogl/composit.py +1577 -0
- wx/lib/ogl/diagram.py +230 -0
- wx/lib/ogl/divided.py +483 -0
- wx/lib/ogl/drawn.py +900 -0
- wx/lib/ogl/lines.py +1811 -0
- wx/lib/ogl/oglmisc.py +608 -0
- wx/lib/pdfviewer/__init__.py +113 -0
- wx/lib/pdfviewer/bitmaps/ArrowLeft.png +0 -0
- wx/lib/pdfviewer/bitmaps/ArrowRight.png +0 -0
- wx/lib/pdfviewer/bitmaps/DirectionH.png +0 -0
- wx/lib/pdfviewer/bitmaps/DirectionV.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerFirst.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerLast.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerNext.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerPrev.png +0 -0
- wx/lib/pdfviewer/bitmaps/Printer.png +0 -0
- wx/lib/pdfviewer/bitmaps/ReadMe.txt +28 -0
- wx/lib/pdfviewer/bitmaps/Save.png +0 -0
- wx/lib/pdfviewer/bitmaps/ZoomIn.png +0 -0
- wx/lib/pdfviewer/bitmaps/ZoomOut.png +0 -0
- wx/lib/pdfviewer/bitmaps/encode_bitmaps.py +37 -0
- wx/lib/pdfviewer/buttonpanel.py +279 -0
- wx/lib/pdfviewer/images.py +240 -0
- wx/lib/pdfviewer/viewer.py +1077 -0
- wx/lib/pdfwin.py +295 -0
- wx/lib/pdfwin_old.py +789 -0
- wx/lib/platebtn.py +789 -0
- wx/lib/plot/CHANGELOG.md +150 -0
- wx/lib/plot/README.md +16 -0
- wx/lib/plot/__init__.py +46 -0
- wx/lib/plot/__main__.py +5 -0
- wx/lib/plot/examples/__init__.py +0 -0
- wx/lib/plot/examples/demo.py +1009 -0
- wx/lib/plot/examples/simple_example.py +54 -0
- wx/lib/plot/plotcanvas.py +2981 -0
- wx/lib/plot/polyobjects.py +1525 -0
- wx/lib/plot/utils.py +327 -0
- wx/lib/popupctl.py +250 -0
- wx/lib/printout.py +1157 -0
- wx/lib/progressindicator.py +151 -0
- wx/lib/pubsub/LICENSE_BSD_Simple.txt +23 -0
- wx/lib/pubsub/README_WxPython.txt +22 -0
- wx/lib/pubsub/RELEASE_NOTES.txt +71 -0
- wx/lib/pubsub/__init__.py +25 -0
- wx/lib/pubsub/core/__init__.py +92 -0
- wx/lib/pubsub/core/arg1/__init__.py +16 -0
- wx/lib/pubsub/core/arg1/listenerimpl.py +97 -0
- wx/lib/pubsub/core/arg1/publisher.py +40 -0
- wx/lib/pubsub/core/arg1/publishermixin.py +34 -0
- wx/lib/pubsub/core/arg1/topicargspecimpl.py +66 -0
- wx/lib/pubsub/core/arg1/topicmgrimpl.py +19 -0
- wx/lib/pubsub/core/callables.py +191 -0
- wx/lib/pubsub/core/imp2.py +63 -0
- wx/lib/pubsub/core/itopicdefnprovider.py +0 -0
- wx/lib/pubsub/core/kwargs/__init__.py +16 -0
- wx/lib/pubsub/core/kwargs/datamsg.py +27 -0
- wx/lib/pubsub/core/kwargs/listenerimpl.py +93 -0
- wx/lib/pubsub/core/kwargs/publisher.py +77 -0
- wx/lib/pubsub/core/kwargs/publishermixin.py +65 -0
- wx/lib/pubsub/core/kwargs/topicargspecimpl.py +217 -0
- wx/lib/pubsub/core/kwargs/topicmgrimpl.py +13 -0
- wx/lib/pubsub/core/listener.py +40 -0
- wx/lib/pubsub/core/listenerbase.py +185 -0
- wx/lib/pubsub/core/notificationmgr.py +185 -0
- wx/lib/pubsub/core/publisherbase.py +191 -0
- wx/lib/pubsub/core/topicargspec.py +77 -0
- wx/lib/pubsub/core/topicdefnprovider.py +632 -0
- wx/lib/pubsub/core/topicexc.py +72 -0
- wx/lib/pubsub/core/topicmgr.py +456 -0
- wx/lib/pubsub/core/topicobj.py +472 -0
- wx/lib/pubsub/core/topictreetraverser.py +143 -0
- wx/lib/pubsub/core/topicutils.py +118 -0
- wx/lib/pubsub/core/treeconfig.py +21 -0
- wx/lib/pubsub/core/validatedefnargs.py +29 -0
- wx/lib/pubsub/core/weakmethod.py +102 -0
- wx/lib/pubsub/policies.py +24 -0
- wx/lib/pubsub/pub.py +199 -0
- wx/lib/pubsub/py2and3.py +608 -0
- wx/lib/pubsub/setuparg1.py +47 -0
- wx/lib/pubsub/setupkwargs.py +29 -0
- wx/lib/pubsub/utils/__init__.py +27 -0
- wx/lib/pubsub/utils/exchandling.py +100 -0
- wx/lib/pubsub/utils/misc.py +100 -0
- wx/lib/pubsub/utils/notification.py +331 -0
- wx/lib/pubsub/utils/topictreeprinter.py +195 -0
- wx/lib/pubsub/utils/xmltopicdefnprovider.py +287 -0
- wx/lib/pydocview.py +3300 -0
- wx/lib/rcsizer.py +229 -0
- wx/lib/resizewidget.py +357 -0
- wx/lib/scrolledpanel.py +225 -0
- wx/lib/sheet.py +350 -0
- wx/lib/sized_controls.py +691 -0
- wx/lib/softwareupdate.py +361 -0
- wx/lib/splitter.py +925 -0
- wx/lib/statbmp.py +199 -0
- wx/lib/stattext.py +322 -0
- wx/lib/throbber.py +425 -0
- wx/lib/ticker.py +295 -0
- wx/lib/ticker_xrc.py +48 -0
- wx/lib/utils.py +89 -0
- wx/lib/wordwrap.py +97 -0
- wx/lib/wxcairo/__init__.py +124 -0
- wx/lib/wxcairo/wx_cairocffi.py +200 -0
- wx/lib/wxcairo/wx_pycairo.py +463 -0
- wx/lib/wxpTag.py +274 -0
- wx/locale/af/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/an/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ar/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ca/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ca@valencia/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/cs/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/da/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/de/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/el/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/es/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/eu/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fa_IR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/gl_ES/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hu/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/id/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/it/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ja/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ka/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ko_KR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/lt/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/lv/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ms/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/nb/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ne/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/nl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pt/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pt_BR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ro/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ru/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sk/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sq/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sv/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ta/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/tr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/uk/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/vi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/zh_CN/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/zh_TW/LC_MESSAGES/wxstd.mo +0 -0
- wx/media.py +27 -0
- wx/media.pyi +223 -0
- wx/msw.py +13 -0
- wx/msw.pyi +65 -0
- wx/propgrid.py +1451 -0
- wx/propgrid.pyi +7914 -0
- wx/py/CHANGES.txt +796 -0
- wx/py/Py.ico +0 -0
- wx/py/PyAlaCarte.py +34 -0
- wx/py/PyAlaMode.py +34 -0
- wx/py/PyAlaModeTest.py +33 -0
- wx/py/PyCrust.ico +0 -0
- wx/py/PyCrust.py +78 -0
- wx/py/PyCrust_16.png +0 -0
- wx/py/PyCrust_32.png +0 -0
- wx/py/PyFilling.py +35 -0
- wx/py/PyShell.py +78 -0
- wx/py/PySlices.ico +0 -0
- wx/py/PySlices.py +98 -0
- wx/py/PySlicesShell.py +94 -0
- wx/py/PySlices_16.png +0 -0
- wx/py/PySlices_32.png +0 -0
- wx/py/PyWrap.py +52 -0
- wx/py/README.txt +77 -0
- wx/py/__init__.py +20 -0
- wx/py/buffer.py +136 -0
- wx/py/crust.py +403 -0
- wx/py/crustslices.py +403 -0
- wx/py/dispatcher.py +259 -0
- wx/py/document.py +37 -0
- wx/py/editor.py +844 -0
- wx/py/editwindow.py +299 -0
- wx/py/filling.py +357 -0
- wx/py/frame.py +978 -0
- wx/py/images.py +212 -0
- wx/py/interpreter.py +170 -0
- wx/py/introspect.py +393 -0
- wx/py/magic.py +98 -0
- wx/py/parse.py +134 -0
- wx/py/path.py +36 -0
- wx/py/pseudo.py +99 -0
- wx/py/shell.py +1588 -0
- wx/py/sliceshell.py +3814 -0
- wx/py/tests/test_interpreter.py +71 -0
- wx/py/tests/test_introspect.py +862 -0
- wx/py/tests/test_pseudo.py +70 -0
- wx/py/tests/test_version.py +36 -0
- wx/py/tests/testall.py +22 -0
- wx/py/version.py +7 -0
- wx/ribbon.py +45 -0
- wx/ribbon.pyi +2494 -0
- wx/richtext.py +142 -0
- wx/richtext.pyi +12113 -0
- wx/siplib.cp313-win_amd64.pyd +0 -0
- wx/stc.py +58 -0
- wx/stc.pyi +8463 -0
- wx/svg/__init__.py +364 -0
- wx/svg/_nanosvg.cp313-win_amd64.pyd +0 -0
- wx/tools/__init__.py +18 -0
- wx/tools/dbg.py +268 -0
- wx/tools/genaxmodule.py +50 -0
- wx/tools/helpviewer.py +92 -0
- wx/tools/img2img.py +85 -0
- wx/tools/img2png.py +54 -0
- wx/tools/img2py.py +309 -0
- wx/tools/img2xpm.py +54 -0
- wx/tools/pywxrc.py +949 -0
- wx/tools/wxget.py +254 -0
- wx/tools/wxget_docs_demo.py +186 -0
- wx/wxbase315u_net_vc140_x64.dll +0 -0
- wx/wxbase315u_vc140_x64.dll +0 -0
- wx/wxbase315u_xml_vc140_x64.dll +0 -0
- wx/wxmsw315u_adv_vc140_x64.dll +0 -0
- wx/wxmsw315u_aui_vc140_x64.dll +0 -0
- wx/wxmsw315u_core_vc140_x64.dll +0 -0
- wx/wxmsw315u_gl_vc140_x64.dll +0 -0
- wx/wxmsw315u_html_vc140_x64.dll +0 -0
- wx/wxmsw315u_media_vc140_x64.dll +0 -0
- wx/wxmsw315u_propgrid_vc140_x64.dll +0 -0
- wx/wxmsw315u_qa_vc140_x64.dll +0 -0
- wx/wxmsw315u_ribbon_vc140_x64.dll +0 -0
- wx/wxmsw315u_richtext_vc140_x64.dll +0 -0
- wx/wxmsw315u_stc_vc140_x64.dll +0 -0
- wx/wxmsw315u_webview_vc140_x64.dll +0 -0
- wx/wxmsw315u_xrc_vc140_x64.dll +0 -0
- wx/xml.py +15 -0
- wx/xml.pyi +575 -0
- wx/xrc.py +65 -0
- wx/xrc.pyi +742 -0
- wxPython_zombie-3.1.5.8.dist-info/LICENSE.txt +950 -0
- wxPython_zombie-3.1.5.8.dist-info/METADATA +107 -0
- wxPython_zombie-3.1.5.8.dist-info/RECORD +1175 -0
- wxPython_zombie-3.1.5.8.dist-info/WHEEL +5 -0
- wxPython_zombie-3.1.5.8.dist-info/entry_points.txt +2 -0
- wxPython_zombie-3.1.5.8.dist-info/top_level.txt +1 -0
wx/lib/agw/__init__.py
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
|
|
2
|
+
"""
|
|
3
|
+
This is the Advanced Generic Widgets package (AGW). It provides many
|
|
4
|
+
custom-drawn wxPython controls: some of them can be used as a replacement
|
|
5
|
+
of the platform native controls, others are simply an addition to the
|
|
6
|
+
already rich wxPython widgets set.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Description:
|
|
10
|
+
|
|
11
|
+
AGW contains many different modules, listed below. Items labelled with
|
|
12
|
+
an asterisk were already present in :mod:`lib` before:
|
|
13
|
+
|
|
14
|
+
- AdvancedSplash: reproduces the behaviour of :class:`~adv.SplashScreen`, with more
|
|
15
|
+
advanced features like custom shapes and text animations;
|
|
16
|
+
- AquaButton: this is another custom-drawn button class which
|
|
17
|
+
*approximatively* mimics the behaviour of Aqua buttons on the Mac;
|
|
18
|
+
- AUI: a pure-Python implementation of :mod:`~wx.lib.agw.aui`, with many bug fixes and
|
|
19
|
+
new features like HUD docking and :class:`~wx.lib.agw.aui.auibook.AuiNotebook` tab arts;
|
|
20
|
+
- BalloonTip: allows you to display tooltips in a balloon style window
|
|
21
|
+
(actually a frame), similarly to the Windows XP balloon help;
|
|
22
|
+
- ButtonPanel (*): a panel with gradient background shading with the
|
|
23
|
+
possibility to add buttons and controls still respecting the gradient
|
|
24
|
+
background;
|
|
25
|
+
- CubeColourDialog: an alternative implementation of :class:`wx.ColourDialog`, it
|
|
26
|
+
offers different functionalities like colour wheel and RGB cube;
|
|
27
|
+
- CustomTreeCtrl (*): mimics the behaviour of :class:`TreeCtrl`, with almost the
|
|
28
|
+
same base functionalities plus a bunch of enhancements and goodies;
|
|
29
|
+
- FlatMenu: as the name implies, it is a generic menu implementation,
|
|
30
|
+
offering the same :class:`wx.MenuBar` / :class:`wx.Menu` / :class:`ToolBar` capabilities and much more;
|
|
31
|
+
- FlatNotebook (*): a full implementation of the :class:`Notebook`, and designed
|
|
32
|
+
to be a drop-in replacement for :class:`Notebook` with enhanced capabilities;
|
|
33
|
+
- FloatSpin: this class implements a floating point spinctrl, cabable (in
|
|
34
|
+
theory) of handling infinite-precision floating point numbers;
|
|
35
|
+
- FoldPanelBar (*): a control that contains multiple panels that can be
|
|
36
|
+
expanded or collapsed a la Windows Explorer/Outlook command bars;
|
|
37
|
+
- FourWaySplitter: this is a layout manager which manages four children like
|
|
38
|
+
four panes in a window, similar to many CAD software interfaces;
|
|
39
|
+
- GenericMessageDialog: it is a possible replacement for the standard
|
|
40
|
+
:class:`MessageDialog`, with a fancier look and extended functionalities;
|
|
41
|
+
- GradientButton: another custom-drawn button class which mimics Windows CE
|
|
42
|
+
mobile gradient buttons, using a tri-vertex blended gradient background;
|
|
43
|
+
- HyperLinkCtrl (*): this widget acts line an hyper link in a typical browser;
|
|
44
|
+
- HyperTreeList: a class that mimics the behaviour of :class:`wx.adv.TreeListCtrl`,
|
|
45
|
+
with almost the same base functionalities plus some more enhancements;
|
|
46
|
+
- InfoBar: a transient window shown at top or bottom of its parent window to display
|
|
47
|
+
non-critical information to the user;
|
|
48
|
+
- KnobCtrl: a widget which lets the user select a numerical value by
|
|
49
|
+
rotating it, like a slider with a wheel shape;
|
|
50
|
+
- LabelBook and FlatImageBook: these are a quasi-full implementations of
|
|
51
|
+
:class:`Listbook`, with additional features;
|
|
52
|
+
- MultiDirDialog: it represents a possible replacement for :class:`DirDialog`,
|
|
53
|
+
with the additional ability of selecting multiple folders at once and a
|
|
54
|
+
fancier look;
|
|
55
|
+
- PeakMeter: this widget mimics the behaviour of LED equalizers that are
|
|
56
|
+
usually found in stereos and MP3 players;
|
|
57
|
+
- PersistentControls: widgets which automatically save their state
|
|
58
|
+
when they are destroyed and restore it when they are recreated, even during
|
|
59
|
+
another program invocation;
|
|
60
|
+
- PieCtrl and ProgressPie: these are simple classes that reproduce the
|
|
61
|
+
behavior of a pie chart, in a static or progress-gauge-like way;
|
|
62
|
+
- PyBusyInfo: constructs a busy info window and displays a message in it:
|
|
63
|
+
it is similar to :class:`BusyInfo`;
|
|
64
|
+
- PyCollapsiblePane: a pure Python implementation of the original wxWidgets
|
|
65
|
+
C++ code of :class:`CollapsiblePane`, with customizable buttons;
|
|
66
|
+
- PyGauge: a generic :class:`Gauge` implementation, it supports the determinate
|
|
67
|
+
mode functions as :class:`Gauge`;
|
|
68
|
+
- PyProgress: it is similar to :class:`ProgressDialog` in indeterminated mode, but
|
|
69
|
+
with a different gauge appearance and a different spinning behavior;
|
|
70
|
+
- RibbonBar: the RibbonBar library is a set of classes for writing a ribbon
|
|
71
|
+
user interface, similar to the user interface present in recent versions
|
|
72
|
+
of Microsoft Office;
|
|
73
|
+
- RulerCtrl: it implements a ruler window that can be placed on top, bottom,
|
|
74
|
+
left or right to any wxPython widget. It is somewhat similar to the rulers
|
|
75
|
+
you can find in text editors software;
|
|
76
|
+
- ShapedButton: this class tries to fill the lack of "custom shaped" controls
|
|
77
|
+
in wxPython. It can be used to build round buttons or elliptic buttons;
|
|
78
|
+
- ShortcutEditor: a widget that allows the user to customize and change
|
|
79
|
+
keyboard shortcuts via a dialog;
|
|
80
|
+
- SpeedMeter: this widget tries to reproduce the behavior of some car
|
|
81
|
+
controls (but not only), by creating an "angular" control;
|
|
82
|
+
- SuperToolTip: a class that mimics the behaviour of :class:`TipWindow` and
|
|
83
|
+
generic tooltips, with many features and highly customizable;
|
|
84
|
+
- ThumbnailCtrl: a widget that can be used to display a series of images
|
|
85
|
+
in a "thumbnail" format; it mimics, for example, the Windows Explorer
|
|
86
|
+
behavior when you select the "view thumbnails" option;
|
|
87
|
+
- ToasterBox: a cross-platform widget to make the creation of MSN-style
|
|
88
|
+
"toaster" popups easier;
|
|
89
|
+
- UltimateListCtrl: mimics the behaviour of :class:`ListCtrl`, with almost the same
|
|
90
|
+
base functionalities plus some more enhancements;
|
|
91
|
+
- XLSGrid: a class based on :class:`grid.Grid` that can be used to faithfully
|
|
92
|
+
reproduce the appearance of a Microsoft Excel spreadsheets;
|
|
93
|
+
- ZoomBar: a class that *appoximatively* mimics the behaviour of the Mac Dock,
|
|
94
|
+
inside a :class:`Panel`.
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Bugs and Limitations: many, patches and fixes welcome :-D
|
|
98
|
+
|
|
99
|
+
See the demos for an example of what AGW can do, and on how to use it.
|
|
100
|
+
|
|
101
|
+
Copyright: Andrea Gavana
|
|
102
|
+
|
|
103
|
+
License: Same as the version of wxPython you are using it with.
|
|
104
|
+
|
|
105
|
+
SVN for latest code:
|
|
106
|
+
http://svn.wxwidgets.org/viewvc/wx/wxPython/3rdParty/AGW/
|
|
107
|
+
|
|
108
|
+
Mailing List:
|
|
109
|
+
wxpython-users@lists.wxwidgets.org
|
|
110
|
+
|
|
111
|
+
My personal web page:
|
|
112
|
+
http://xoomer.alice.it/infinity77
|
|
113
|
+
|
|
114
|
+
Please let me know if you are using AGW!
|
|
115
|
+
|
|
116
|
+
You can contact me at:
|
|
117
|
+
|
|
118
|
+
andrea.gavana@gmail.com
|
|
119
|
+
andrea.gavana@maerskoil.com
|
|
120
|
+
|
|
121
|
+
AGW version: 0.9.7
|
|
122
|
+
|
|
123
|
+
Last updated: 09 January 2014, 23.00 GMT
|
|
124
|
+
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
__version__ = "0.9.7"
|
|
128
|
+
__author__ = "Andrea Gavana <andrea.gavana@gmail.com>"
|
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
# --------------------------------------------------------------------------- #
|
|
2
|
+
# ADVANCEDSPLASH Control wxPython IMPLEMENTATION
|
|
3
|
+
# Python Code By:
|
|
4
|
+
#
|
|
5
|
+
# Andrea Gavana, @ 10 Oct 2005
|
|
6
|
+
# Latest Revision: 19 Dec 2012, 21.00 GMT
|
|
7
|
+
# (c) 2021 Zombie
|
|
8
|
+
#
|
|
9
|
+
#
|
|
10
|
+
# TODO List/Caveats
|
|
11
|
+
#
|
|
12
|
+
# 1. Actually, Setting The Shape Of AdvancedSplash Is Done Using "SetShape"
|
|
13
|
+
# Function On A Frame. This Works, AFAIK, On This Following Platforms:
|
|
14
|
+
#
|
|
15
|
+
# - MSW
|
|
16
|
+
# - UNIX/Linux
|
|
17
|
+
# - MacOS Carbon
|
|
18
|
+
#
|
|
19
|
+
# Obviously I May Be Wrong Here. Could Someone Verify That Lines 139-145
|
|
20
|
+
# Work Correctly On Other Platforms Than Mine (MSW XP/2000)?
|
|
21
|
+
# Moreover, Is There A Way To Avoid The Use Of The "SetShape" Method?
|
|
22
|
+
# I Don't Know.
|
|
23
|
+
#
|
|
24
|
+
#
|
|
25
|
+
# For All Kind Of Problems, Requests Of Enhancements And Bug Reports, Please
|
|
26
|
+
# Write To Me At:
|
|
27
|
+
#
|
|
28
|
+
# andrea.gavana@gmail.com
|
|
29
|
+
# andrea.gavana@maerskoil.com
|
|
30
|
+
#
|
|
31
|
+
# Or, Obviously, To The wxPython Mailing List!!!
|
|
32
|
+
#
|
|
33
|
+
# Tags: phoenix-port, unittest, documented, py3-port
|
|
34
|
+
#
|
|
35
|
+
# End Of Comments
|
|
36
|
+
# --------------------------------------------------------------------------- #
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
"""
|
|
40
|
+
:class:`~wx.lib.agw.advancedsplash.AdvancedSplash` tries to reproduce the behavior of :class:`~adv.SplashScreen`, with
|
|
41
|
+
some enhancements.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Description
|
|
45
|
+
===========
|
|
46
|
+
|
|
47
|
+
:class:`AdvancedSplash` tries to reproduce the behavior of :class:`~adv.SplashScreen`, but with
|
|
48
|
+
some enhancements (in my opinion).
|
|
49
|
+
|
|
50
|
+
:class:`AdvancedSplash` starts its construction from a simple frame. Then, depending on
|
|
51
|
+
the options passed to it, it sets the frame shape accordingly to the image passed
|
|
52
|
+
as input. :class:`AdvancedSplash` behaves somewhat like :class:`~adv.SplashScreen`, and almost
|
|
53
|
+
all the methods available in :class:`~adv.SplashScreen` are available also in
|
|
54
|
+
this module.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
Usage
|
|
58
|
+
=====
|
|
59
|
+
|
|
60
|
+
Sample usage::
|
|
61
|
+
|
|
62
|
+
import wx
|
|
63
|
+
import wx.lib.agw.advancedsplash as AS
|
|
64
|
+
|
|
65
|
+
app = wx.App(0)
|
|
66
|
+
|
|
67
|
+
frame = wx.Frame(None, -1, "AdvancedSplash Test")
|
|
68
|
+
|
|
69
|
+
imagePath = "my_splash_image.png"
|
|
70
|
+
bitmap = wx.Bitmap(imagePath, wx.BITMAP_TYPE_PNG)
|
|
71
|
+
shadow = wx.WHITE
|
|
72
|
+
|
|
73
|
+
splash = AS.AdvancedSplash(frame, bitmap=bitmap, timeout=5000,
|
|
74
|
+
agwStyle=AS.AS_TIMEOUT |
|
|
75
|
+
AS.AS_CENTER_ON_PARENT |
|
|
76
|
+
AS.AS_SHADOW_BITMAP,
|
|
77
|
+
shadowcolour=shadow)
|
|
78
|
+
|
|
79
|
+
app.MainLoop()
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
None of the options are strictly required (a part of the `bitmap` parameter).
|
|
83
|
+
If you use the defaults you get a very simple :class:`AdvancedSplash`.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
Methods and Settings
|
|
87
|
+
====================
|
|
88
|
+
|
|
89
|
+
:class:`AdvancedSplash` is customizable, and in particular you can set:
|
|
90
|
+
|
|
91
|
+
- Whether you want to mask a colour or not in your input bitmap;
|
|
92
|
+
- Where to center the splash screen (on screen, on parent or nowhere);
|
|
93
|
+
- Whether it is a "timeout" splashscreen or not;
|
|
94
|
+
- The time after which :class:`AdvancedSplash` is destroyed (if it is a timeout splashscreen);
|
|
95
|
+
- The (optional) text you wish to display;
|
|
96
|
+
- The font, colour and position of the displayed text (optional).
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
Window Styles
|
|
100
|
+
=============
|
|
101
|
+
|
|
102
|
+
This class supports the following window styles:
|
|
103
|
+
|
|
104
|
+
======================= =========== ==================================================
|
|
105
|
+
Window Styles Hex Value Description
|
|
106
|
+
======================= =========== ==================================================
|
|
107
|
+
``AS_TIMEOUT`` 0x1 :class:`AdvancedSplash` will be destroyed after `timeout` milliseconds.
|
|
108
|
+
``AS_NOTIMEOUT`` 0x2 :class:`AdvancedSplash` can be destroyed by clicking on it, pressing a key or by explicitly call the `Close()` method.
|
|
109
|
+
``AS_CENTER_ON_SCREEN`` 0x4 :class:`AdvancedSplash` will be centered on screen.
|
|
110
|
+
``AS_CENTER_ON_PARENT`` 0x8 :class:`AdvancedSplash` will be centered on parent.
|
|
111
|
+
``AS_NO_CENTER`` 0x10 :class:`AdvancedSplash` will not be centered.
|
|
112
|
+
``AS_SHADOW_BITMAP`` 0x20 If the bitmap you pass as input has no transparency, you can choose one colour that will be masked in your bitmap. the final shape of :class:`AdvancedSplash` will be defined only by non-transparent (non-masked) pixels.
|
|
113
|
+
======================= =========== ==================================================
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
Events Processing
|
|
117
|
+
=================
|
|
118
|
+
|
|
119
|
+
`No custom events are available for this class.`
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
License And Version
|
|
123
|
+
===================
|
|
124
|
+
|
|
125
|
+
:class:`AdvancedSplash` control is distributed under the wxPython license.
|
|
126
|
+
|
|
127
|
+
Latest revision: Andrea Gavana @ 19 Dec 2012, 21.00 GMT
|
|
128
|
+
|
|
129
|
+
Version 0.5
|
|
130
|
+
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
#----------------------------------------------------------------------
|
|
135
|
+
# Beginning Of ADVANCEDSPLASH wxPython Code
|
|
136
|
+
#----------------------------------------------------------------------
|
|
137
|
+
|
|
138
|
+
import wx
|
|
139
|
+
|
|
140
|
+
# These Are Used To Declare If The AdvancedSplash Should Be Destroyed After The
|
|
141
|
+
# Timeout Or Not
|
|
142
|
+
|
|
143
|
+
AS_TIMEOUT = 1
|
|
144
|
+
""" :class:`AdvancedSplash` will be destroyed after `timeout` milliseconds. """
|
|
145
|
+
AS_NOTIMEOUT = 2
|
|
146
|
+
""" :class:`AdvancedSplash` can be destroyed by clicking on it, pressing a key or by explicitly call the `Close()` method. """
|
|
147
|
+
|
|
148
|
+
# These Flags Are Used To Position AdvancedSplash Correctly On Screen
|
|
149
|
+
AS_CENTER_ON_SCREEN = 4
|
|
150
|
+
""" :class:`AdvancedSplash` will be centered on screen. """
|
|
151
|
+
AS_CENTER_ON_PARENT = 8
|
|
152
|
+
""" :class:`AdvancedSplash` will be centered on parent. """
|
|
153
|
+
AS_NO_CENTER = 16
|
|
154
|
+
""" :class:`AdvancedSplash` will not be centered. """
|
|
155
|
+
|
|
156
|
+
# This Option Allow To Mask A Colour In The Input Bitmap
|
|
157
|
+
AS_SHADOW_BITMAP = 32
|
|
158
|
+
""" If the bitmap you pass as input has no transparency, you can choose one colour that will be masked in your bitmap. the final shape of :class:`AdvancedSplash` will be defined only by non-transparent (non-masked) pixels. """
|
|
159
|
+
|
|
160
|
+
#----------------------------------------------------------------------
|
|
161
|
+
# ADVANCEDSPLASH Class
|
|
162
|
+
# This Is The Main Class Implementation. See __init__() Method For
|
|
163
|
+
# Details.
|
|
164
|
+
#----------------------------------------------------------------------
|
|
165
|
+
|
|
166
|
+
class AdvancedSplash(wx.Frame):
|
|
167
|
+
"""
|
|
168
|
+
:class:`AdvancedSplash` tries to reproduce the behavior of :class:`~adv.SplashScreen`, with
|
|
169
|
+
some enhancements.
|
|
170
|
+
|
|
171
|
+
This is the main class implementation.
|
|
172
|
+
"""
|
|
173
|
+
def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize,
|
|
174
|
+
style=wx.FRAME_NO_TASKBAR | wx.FRAME_SHAPED | wx.STAY_ON_TOP,
|
|
175
|
+
bitmap=None, timeout=5000,
|
|
176
|
+
agwStyle=AS_TIMEOUT | AS_CENTER_ON_SCREEN,
|
|
177
|
+
shadowcolour=wx.NullColour):
|
|
178
|
+
"""
|
|
179
|
+
Default class constructor.
|
|
180
|
+
|
|
181
|
+
:param `parent`: parent window;
|
|
182
|
+
:param integer `id`: window identifier. A value of -1 indicates a default value;
|
|
183
|
+
:param `pos`: the control position. A value of (-1, -1) indicates a default position,
|
|
184
|
+
chosen by either the windowing system or wxPython, depending on platform;
|
|
185
|
+
:param `size`: the control size. A value of (-1, -1) indicates a default size,
|
|
186
|
+
chosen by either the windowing system or wxPython, depending on platform;
|
|
187
|
+
:param integer `style`: the underlying :class:`wx.Frame` style;
|
|
188
|
+
:param `bitmap`: this must be a valid bitmap, that you may construct using
|
|
189
|
+
whatever image file format supported by wxPython. If the file you load
|
|
190
|
+
already supports mask/transparency (like png), the transparent areas
|
|
191
|
+
will not be drawn on screen, and the :class:`AdvancedSplash` frame will have
|
|
192
|
+
the shape defined only by *non-transparent* pixels.
|
|
193
|
+
If you use other file formats that does not supports transparency, you
|
|
194
|
+
can obtain the same effect as above by masking a specific colour in
|
|
195
|
+
your :class:`wx.Bitmap`.
|
|
196
|
+
:param integer `timeout`: if you construct :class:`AdvancedSplash` using the style ``AS_TIMEOUT``,
|
|
197
|
+
:class:`AdvancedSplash` will be destroyed after `timeout` milliseconds;
|
|
198
|
+
:param integer `agwStyle`: this value specifies the :class:`AdvancedSplash` styles:
|
|
199
|
+
|
|
200
|
+
======================= =========== ==================================================
|
|
201
|
+
Window Styles Hex Value Description
|
|
202
|
+
======================= =========== ==================================================
|
|
203
|
+
``AS_TIMEOUT`` 0x1 :class:`AdvancedSplash` will be destroyed after `timeout` milliseconds.
|
|
204
|
+
``AS_NOTIMEOUT`` 0x2 :class:`AdvancedSplash` can be destroyed by clicking on it, pressing a key or by explicitly call the `Close()` method.
|
|
205
|
+
``AS_CENTER_ON_SCREEN`` 0x4 :class:`AdvancedSplash` will be centered on screen.
|
|
206
|
+
``AS_CENTER_ON_PARENT`` 0x8 :class:`AdvancedSplash` will be centered on parent.
|
|
207
|
+
``AS_NO_CENTER`` 0x10 :class:`AdvancedSplash` will not be centered.
|
|
208
|
+
``AS_SHADOW_BITMAP`` 0x20 If the bitmap you pass as input has no transparency, you can choose one colour that will be masked in your bitmap. the final shape of :class:`AdvancedSplash` will be defined only by non-transparent (non-masked) pixels.
|
|
209
|
+
======================= =========== ==================================================
|
|
210
|
+
|
|
211
|
+
:param `shadowcolour`: if you construct :class:`AdvancedSplash` using the style
|
|
212
|
+
``AS_SHADOW_BITMAP``, here you can specify the colour that will be masked on
|
|
213
|
+
your input bitmap. This has to be a valid wxPython colour.
|
|
214
|
+
|
|
215
|
+
:type parent: :class:`wx.Window`
|
|
216
|
+
:type pos: tuple or :class:`wx.Point`
|
|
217
|
+
:type size: tuple or :class:`wx.Size`
|
|
218
|
+
:type bitmap: :class:`wx.Bitmap`
|
|
219
|
+
:type shadowcolour: :class:`wx.Colour`
|
|
220
|
+
|
|
221
|
+
:raise: `Exception` in the following cases:
|
|
222
|
+
|
|
223
|
+
- The ``AS_TIMEOUT`` style is set but `timeout` is not a positive integer;
|
|
224
|
+
- The ``AS_SHADOW_BITMAP`` style is set but `shadowcolour` is not a valid wxPython colour;
|
|
225
|
+
- The :class:`AdvancedSplash` bitmap is an invalid :class:`wx.Bitmap`.
|
|
226
|
+
|
|
227
|
+
"""
|
|
228
|
+
|
|
229
|
+
wx.Frame.__init__(self, parent, id, "", pos, size, style)
|
|
230
|
+
|
|
231
|
+
# Some Error Checking
|
|
232
|
+
if agwStyle & AS_TIMEOUT and timeout <= 0:
|
|
233
|
+
raise Exception('\nERROR: Style "AS_TIMEOUT" Used With Invalid "timeout" Parameter Value (' \
|
|
234
|
+
+ str(timeout) + ')')
|
|
235
|
+
|
|
236
|
+
if agwStyle & AS_SHADOW_BITMAP and not shadowcolour.IsOk():
|
|
237
|
+
raise Exception('\nERROR: Style "AS_SHADOW_BITMAP" Used With Invalid "shadowcolour" Parameter')
|
|
238
|
+
|
|
239
|
+
if not bitmap or not bitmap.IsOk():
|
|
240
|
+
raise Exception("\nERROR: Bitmap Passed To AdvancedSplash Is Invalid.")
|
|
241
|
+
|
|
242
|
+
if agwStyle & AS_SHADOW_BITMAP:
|
|
243
|
+
# Our Bitmap Is Masked Accordingly To User Input
|
|
244
|
+
self.bmp = self.ShadowBitmap(bitmap, shadowcolour)
|
|
245
|
+
else:
|
|
246
|
+
self.bmp = bitmap
|
|
247
|
+
|
|
248
|
+
self._agwStyle = agwStyle
|
|
249
|
+
|
|
250
|
+
# Setting Initial Properties
|
|
251
|
+
self.SetText()
|
|
252
|
+
self.SetTextFont()
|
|
253
|
+
self.SetTextPosition()
|
|
254
|
+
self.SetTextColour()
|
|
255
|
+
|
|
256
|
+
# Calculate The Shape Of AdvancedSplash Using The Input-Modified Bitmap
|
|
257
|
+
self.reg = wx.Region(self.bmp)
|
|
258
|
+
|
|
259
|
+
# Don't Know If It Works On Other Platforms!!
|
|
260
|
+
# Tested Only In Windows XP/2000
|
|
261
|
+
|
|
262
|
+
if wx.Platform == "__WXGTK__":
|
|
263
|
+
self.Bind(wx.EVT_WINDOW_CREATE, self.SetSplashShape)
|
|
264
|
+
else:
|
|
265
|
+
self.SetSplashShape()
|
|
266
|
+
|
|
267
|
+
w = self.bmp.GetWidth() + 1
|
|
268
|
+
h = self.bmp.GetHeight() + 1
|
|
269
|
+
|
|
270
|
+
# Set The AdvancedSplash Size To The Bitmap Size
|
|
271
|
+
self.SetClientSize((w, h))
|
|
272
|
+
|
|
273
|
+
if agwStyle & AS_CENTER_ON_SCREEN:
|
|
274
|
+
self.CenterOnScreen()
|
|
275
|
+
elif agwStyle & AS_CENTER_ON_PARENT:
|
|
276
|
+
self.CenterOnParent()
|
|
277
|
+
|
|
278
|
+
if agwStyle & AS_TIMEOUT:
|
|
279
|
+
# Starts The Timer. Once Expired, AdvancedSplash Is Destroyed
|
|
280
|
+
self._splashtimer = wx.Timer(self)
|
|
281
|
+
self.Bind(wx.EVT_TIMER, self.OnNotify)
|
|
282
|
+
self._splashtimer.Start(timeout)
|
|
283
|
+
|
|
284
|
+
# Catch Some Mouse Events, To Behave Like wx.SplashScreen
|
|
285
|
+
self.Bind(wx.EVT_PAINT, self.OnPaint)
|
|
286
|
+
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
|
|
287
|
+
self.Bind(wx.EVT_MOUSE_EVENTS, self.OnMouseEvents)
|
|
288
|
+
self.Bind(wx.EVT_CHAR, self.OnCharEvents)
|
|
289
|
+
|
|
290
|
+
self.Show()
|
|
291
|
+
if wx.Platform == "__WXMAC__":
|
|
292
|
+
wx.SafeYield(self, True)
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
def SetSplashShape(self, event=None):
|
|
296
|
+
"""
|
|
297
|
+
Sets :class:`AdvancedSplash` shape using the region created from the bitmap.
|
|
298
|
+
|
|
299
|
+
:param `event`: a :class:`wx.WindowCreateEvent` event (GTK only, as GTK supports setting
|
|
300
|
+
the window shape only during window creation).
|
|
301
|
+
"""
|
|
302
|
+
|
|
303
|
+
self.SetShape(self.reg)
|
|
304
|
+
|
|
305
|
+
if event is not None:
|
|
306
|
+
event.Skip()
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
def ShadowBitmap(self, bmp, shadowcolour):
|
|
310
|
+
"""
|
|
311
|
+
Applies a mask on the bitmap accordingly to user input.
|
|
312
|
+
|
|
313
|
+
:param `bmp`: the bitmap to which we want to apply the mask colour `shadowcolour`;
|
|
314
|
+
:param `shadowcolour`: the mask colour for our bitmap.
|
|
315
|
+
:type bmp: :class:`wx.Bitmap`
|
|
316
|
+
:type shadowcolour: :class:`wx.Colour`
|
|
317
|
+
|
|
318
|
+
:return: A masked version of the input bitmap, an instance of :class:`wx.Bitmap`.
|
|
319
|
+
"""
|
|
320
|
+
|
|
321
|
+
mask = wx.Mask(bmp, shadowcolour)
|
|
322
|
+
bmp.SetMask(mask)
|
|
323
|
+
|
|
324
|
+
return bmp
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
def OnPaint(self, event):
|
|
328
|
+
"""
|
|
329
|
+
Handles the ``wx.EVT_PAINT`` event for :class:`AdvancedSplash`.
|
|
330
|
+
|
|
331
|
+
:param `event`: a :class:`PaintEvent` to be processed.
|
|
332
|
+
"""
|
|
333
|
+
|
|
334
|
+
dc = wx.PaintDC(self)
|
|
335
|
+
|
|
336
|
+
# Here We Redraw The Bitmap Over The Frame
|
|
337
|
+
dc.DrawBitmap(self.bmp, 0, 0, True)
|
|
338
|
+
|
|
339
|
+
# We Draw The Text Anyway, Wheter It Is Empty ("") Or Not
|
|
340
|
+
textcolour = self.GetTextColour()
|
|
341
|
+
textfont = self.GetTextFont()
|
|
342
|
+
textpos = self.GetTextPosition()
|
|
343
|
+
text = self.GetText()
|
|
344
|
+
|
|
345
|
+
dc.SetFont(textfont[0])
|
|
346
|
+
dc.SetTextForeground(textcolour)
|
|
347
|
+
dc.DrawText(text, textpos[0], textpos[1])
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
def OnNotify(self, event):
|
|
351
|
+
"""
|
|
352
|
+
Handles the timer expiration, and calls the `Close()` method.
|
|
353
|
+
|
|
354
|
+
:param `event`: a :class:`wx.TimerEvent` to be processed.
|
|
355
|
+
"""
|
|
356
|
+
|
|
357
|
+
self.Close()
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
def OnMouseEvents(self, event):
|
|
361
|
+
"""
|
|
362
|
+
Handles the ``wx.EVT_MOUSE_EVENTS`` events for :class:`AdvancedSplash`.
|
|
363
|
+
|
|
364
|
+
:param `event`: a :class:`MouseEvent` to be processed.
|
|
365
|
+
|
|
366
|
+
:note: This reproduces the behavior of :class:`~adv.SplashScreen`.
|
|
367
|
+
"""
|
|
368
|
+
|
|
369
|
+
if event.LeftDown() or event.RightDown():
|
|
370
|
+
self.Close()
|
|
371
|
+
|
|
372
|
+
event.Skip()
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
def OnCharEvents(self, event):
|
|
376
|
+
"""
|
|
377
|
+
Handles the ``wx.EVT_CHAR`` event for :class:`AdvancedSplash`.
|
|
378
|
+
|
|
379
|
+
:param `event`: a :class:`KeyEvent` to be processed.
|
|
380
|
+
|
|
381
|
+
:note: This reproduces the behavior of :class:`~adv.SplashScreen`.
|
|
382
|
+
"""
|
|
383
|
+
|
|
384
|
+
self.Close()
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
def OnCloseWindow(self, event):
|
|
388
|
+
"""
|
|
389
|
+
Handles the ``wx.EVT_CLOSE`` event for :class:`AdvancedSplash`.
|
|
390
|
+
|
|
391
|
+
:param `event`: a :class:`CloseEvent` to be processed.
|
|
392
|
+
|
|
393
|
+
:note: This reproduces the behavior of :class:`~adv.SplashScreen`.
|
|
394
|
+
"""
|
|
395
|
+
|
|
396
|
+
if hasattr(self, "_splashtimer"):
|
|
397
|
+
self._splashtimer.Stop()
|
|
398
|
+
del self._splashtimer
|
|
399
|
+
|
|
400
|
+
self.Destroy()
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
def SetText(self, text=None):
|
|
404
|
+
"""
|
|
405
|
+
Sets the text to be displayed on :class:`AdvancedSplash`.
|
|
406
|
+
|
|
407
|
+
:param `text`: the text we want to display on top of the bitmap. If `text` is
|
|
408
|
+
set to ``None``, nothing will be drawn on top of the bitmap.
|
|
409
|
+
:type text: string or ``None``
|
|
410
|
+
"""
|
|
411
|
+
|
|
412
|
+
if text is None:
|
|
413
|
+
text = ""
|
|
414
|
+
|
|
415
|
+
self._text = text
|
|
416
|
+
|
|
417
|
+
self.Refresh()
|
|
418
|
+
self.Update()
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
def GetText(self):
|
|
422
|
+
"""
|
|
423
|
+
Returns the text displayed on :class:`AdvancedSplash`.
|
|
424
|
+
|
|
425
|
+
:return: A string representing the text drawn on top of the :class:`AdvancedSplash` bitmap.
|
|
426
|
+
"""
|
|
427
|
+
|
|
428
|
+
return self._text
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
def SetTextFont(self, font=None):
|
|
432
|
+
"""
|
|
433
|
+
Sets the font for the text in :class:`AdvancedSplash`.
|
|
434
|
+
|
|
435
|
+
:param `font`: the font to use while drawing the text on top of our bitmap. If `font`
|
|
436
|
+
is ``None``, a simple generic font is generated.
|
|
437
|
+
:type font: :class:`wx.Font` or ``None``
|
|
438
|
+
"""
|
|
439
|
+
|
|
440
|
+
if font is None:
|
|
441
|
+
self._textfont = wx.Font(1, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False)
|
|
442
|
+
self._textsize = 10
|
|
443
|
+
self._textfont.SetPointSize(self._textsize)
|
|
444
|
+
else:
|
|
445
|
+
self._textfont = font
|
|
446
|
+
self._textsize = font.GetPointSize()
|
|
447
|
+
self._textfont.SetPointSize(self._textsize)
|
|
448
|
+
|
|
449
|
+
self.Refresh()
|
|
450
|
+
self.Update()
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
def GetTextFont(self):
|
|
454
|
+
"""
|
|
455
|
+
Gets the font for the text in :class:`AdvancedSplash`.
|
|
456
|
+
|
|
457
|
+
:return: An instance of :class:`wx.Font` to draw the text and a :class:`wx.Size` object containing
|
|
458
|
+
the text width an height, in pixels.
|
|
459
|
+
"""
|
|
460
|
+
|
|
461
|
+
return self._textfont, self._textsize
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
def SetTextColour(self, colour=None):
|
|
465
|
+
"""
|
|
466
|
+
Sets the colour for the text in :class:`AdvancedSplash`.
|
|
467
|
+
|
|
468
|
+
:param `colour`: the text colour to use while drawing the text on top of our
|
|
469
|
+
bitmap. If `colour` is ``None``, then ``wx.BLACK`` is used.
|
|
470
|
+
:type colour: :class:`wx.Colour` or ``None``
|
|
471
|
+
"""
|
|
472
|
+
|
|
473
|
+
if colour is None:
|
|
474
|
+
colour = wx.BLACK
|
|
475
|
+
|
|
476
|
+
self._textcolour = colour
|
|
477
|
+
self.Refresh()
|
|
478
|
+
self.Update()
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
def GetTextColour(self):
|
|
482
|
+
"""
|
|
483
|
+
Gets the colour for the text in :class:`AdvancedSplash`.
|
|
484
|
+
|
|
485
|
+
:return: An instance of :class:`wx.Colour`.
|
|
486
|
+
"""
|
|
487
|
+
|
|
488
|
+
return self._textcolour
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
def SetTextPosition(self, position=None):
|
|
492
|
+
"""
|
|
493
|
+
Sets the text position inside :class:`AdvancedSplash` frame.
|
|
494
|
+
|
|
495
|
+
:param `position`: the text position inside our bitmap. If `position` is ``None``,
|
|
496
|
+
the text will be placed at the top-left corner.
|
|
497
|
+
:type position: tuple or ``None``
|
|
498
|
+
"""
|
|
499
|
+
|
|
500
|
+
if position is None:
|
|
501
|
+
position = (0, 0)
|
|
502
|
+
|
|
503
|
+
self._textpos = position
|
|
504
|
+
self.Refresh()
|
|
505
|
+
self.Update()
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
def GetTextPosition(self):
|
|
509
|
+
"""
|
|
510
|
+
Returns the text position inside :class:`AdvancedSplash` frame.
|
|
511
|
+
|
|
512
|
+
:return: A tuple containing the text `x` and `y` position inside the :class:`AdvancedSplash` frame.
|
|
513
|
+
"""
|
|
514
|
+
|
|
515
|
+
return self._textpos
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
def GetSplashStyle(self):
|
|
519
|
+
"""
|
|
520
|
+
Returns a list of strings and a list of integers containing the styles.
|
|
521
|
+
|
|
522
|
+
:return: Two Python lists containing the style name and style values for :class:`AdvancedSplash`.
|
|
523
|
+
"""
|
|
524
|
+
|
|
525
|
+
stringstyle = []
|
|
526
|
+
integerstyle = []
|
|
527
|
+
|
|
528
|
+
if self._agwStyle & AS_TIMEOUT:
|
|
529
|
+
stringstyle.append("AS_TIMEOUT")
|
|
530
|
+
integerstyle.append(AS_TIMEOUT)
|
|
531
|
+
|
|
532
|
+
if self._agwStyle & AS_NOTIMEOUT:
|
|
533
|
+
stringstyle.append("AS_NOTIMEOUT")
|
|
534
|
+
integerstyle.append(AS_NOTIMEOUT)
|
|
535
|
+
|
|
536
|
+
if self._agwStyle & AS_CENTER_ON_SCREEN:
|
|
537
|
+
stringstyle.append("AS_CENTER_ON_SCREEN")
|
|
538
|
+
integerstyle.append(AS_CENTER_ON_SCREEN)
|
|
539
|
+
|
|
540
|
+
if self._agwStyle & AS_CENTER_ON_PARENT:
|
|
541
|
+
stringstyle.append("AS_CENTER_ON_PARENT")
|
|
542
|
+
integerstyle.append(AS_CENTER_ON_PARENT)
|
|
543
|
+
|
|
544
|
+
if self._agwStyle & AS_NO_CENTER:
|
|
545
|
+
stringstyle.append("AS_NO_CENTER")
|
|
546
|
+
integerstyle.append(AS_NO_CENTER)
|
|
547
|
+
|
|
548
|
+
if self._agwStyle & AS_SHADOW_BITMAP:
|
|
549
|
+
stringstyle.append("AS_SHADOW_BITMAP")
|
|
550
|
+
integerstyle.append(AS_SHADOW_BITMAP)
|
|
551
|
+
|
|
552
|
+
return stringstyle, integerstyle
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
if __name__ == '__main__':
|
|
556
|
+
|
|
557
|
+
import wx
|
|
558
|
+
|
|
559
|
+
app = wx.App(0)
|
|
560
|
+
|
|
561
|
+
bitmap = wx.Bitmap(100, 100)
|
|
562
|
+
splash = AdvancedSplash(None, bitmap=bitmap, timeout=5000)
|
|
563
|
+
|
|
564
|
+
app.MainLoop()
|