Commit Graph

305 Commits

Author SHA1 Message Date
Lucio Andrés Illanes Albornoz
c9d6b90e68 MiRCART{anvas{,ImportStore,Interface},Frame}.py: pass & initialise from default canvas position, size, and cell size. 2018-01-10 15:04:59 +01:00
Lucio Andrés Illanes Albornoz
49ef54ef76 MiRCARTToolLine.py: correctly cache colours on first click. 2018-01-10 14:53:35 +01:00
Lucio Andrés Illanes Albornoz
2254a0638b MiRCART{Canvas{,Interface},Frame}.py: use dict() to cache canvas state in Frame. 2018-01-10 14:51:25 +01:00
Lucio Andrés Illanes Albornoz
402e542137 MiRCART{CanvasInterface,Frame,Tool*}.py: include current tool name in status bar text. 2018-01-10 05:05:59 +01:00
Lucio Andrés Illanes Albornoz
a320c904fe MiRCART{Canvas{,Interface},Frame}.py: remove undo level & show brush size in status bar. 2018-01-10 05:00:52 +01:00
Lucio Andrés Illanes Albornoz
3fa377791a MiRCARTToolLine.py: honour brush size. 2018-01-10 04:44:13 +01:00
Lucio Andrés Illanes Albornoz
e157f479ce MiRCART{Canvas,Frame}.py: include canvas width and height in status bar. 2018-01-10 04:36:39 +01:00
Lucio Andrés Illanes Albornoz
12027bc6b5 MiRCARTToolText.py: fix non-US ASCII character handling. 2018-01-10 04:31:20 +01:00
Lucio Andrés Illanes Albornoz
f9f910160f MiRCART{Canvas{,Interface},Frame}.py: merge on{StatusBar,Undo}Update() into onCanvasUpdate().
MiRCARTCanvas{Frame,Interface}.py: adds canvas{De,In}crCanvas{Height,Width}() & CID_*.
MiRCARTCanvasFrame.py:onCanvasUpdate(): updated.
2018-01-10 04:23:54 +01:00
Lucio Andrés Illanes Albornoz
3e03126006 MiRCARTCanvasInterface.py: split from MiRCARTCanvas.py.
MiRCART{Canvas,{,General}Frame}.py: updated.
2018-01-10 03:24:25 +01:00
Lucio Andrés Illanes Albornoz
398ee3af3d MiRCARTCanvas{Export,Import}Store.py: split from MiRCARTCanvasStore.py.
IrcMiRCARTBot.py, MiRCART{Canvas,Frame,ToPngFile}.py: updated.
2018-01-10 00:48:13 +01:00
Lucio Andrés Illanes Albornoz
cd5ea1fab5 MiRCARTCanvas{,Journal,Store}.py: dispatch patches from tool event handlers directly.
MiRCARTTool{,Circle,Line,Rect,Text}.py: updated to new interface.
2018-01-10 00:35:08 +01:00
Lucio Andrés Illanes Albornoz
ed8ccab26f MiRCART{Canvas{,Backend},Frame}.py: replace MemoryDC() w/ BufferedDC(canvasBitmap). 2018-01-09 22:23:27 +01:00
Lucio Andrés Illanes Albornoz
2e014cd7ec MiRCARTCanvasBackend.py: only update device context brushes & pen if necessary. 2018-01-09 21:37:58 +01:00
Lucio Andrés Illanes Albornoz
dbf6c76930 MiRCARTGeneralFrame.py: prepend script execution directory when loading toolbar item bitmaps. 2018-01-09 21:21:04 +01:00
Lucio Andrés Illanes Albornoz
363a86fe81 MiRCARTCanvas.py: enable double buffering to eliminate brush flickering. 2018-01-09 05:07:04 +01:00
Lucio Andrés Illanes Albornoz
dec1e4c0d4 MiRCART.png: updates screenshot.
MiRCARTCanvas.py:onPanelKeyboardInput(): only handle {no,shift}-modifier keyboard events.
MiRCARTFrame.py: fix {de,in}crease canvas size accelerators (hotkeys.)
2018-01-09 04:17:24 +01:00
Lucio Andrés Illanes Albornoz
38e90f96ca Initial release w/ circle, line, rectangle, and text tools. 2018-01-09 03:56:40 +01:00
Lucio Andrés Illanes Albornoz
2a7f281d29 MiRCART{General,}Frame.py, assets/*.png: adds icons for tools.
MiRCART{Frame,ToolText}.py: initial implementation of Text tool.
2018-01-08 20:28:43 +01:00
Lucio Andrés Illanes Albornoz
f431adb381 MiRCART.png: updates screenshot. 2018-01-08 17:47:58 +01:00
Lucio Andrés Illanes Albornoz
195ddd9af8 MiRCART{Canvas,Frame}.py: adds circle & line tools.
MiRCARTTool{Circle,Line}.py: initial implementation.
2018-01-08 17:44:54 +01:00
Lucio Andrés Illanes Albornoz
9b5c9be88b MiRCARTFrame.py: adds <Ctrl>-<{+,-}> {in,de}crease brush size accelerators (hotkeys). 2018-01-08 02:56:08 +01:00
Lucio Andrés Illanes Albornoz
1099341b5d MiRCARTCanvas{,Journal}.py: fix {un,re}do regarding brush sizes >(1,1). 2018-01-08 02:45:03 +01:00
Lucio Andrés Illanes Albornoz
e7b7e05234 MiRCARTGeneralFrame.py, MiRCARTFrame.py: cleanup. 2018-01-08 01:43:54 +01:00
Lucio Andrés Illanes Albornoz
30f3688a2c MiRCARTFrame.py:MiRCARTFrame.onFrameCommand(): don't decrease brush size below (1,1).
MiRCARTFrame.py:MiRCARTFrame.onFrameCommand(): remove debugging print()s.
2018-01-08 01:18:52 +01:00
Lucio Andrés Illanes Albornoz
da82a543b5 MiRCARTCanvas.py: disable double buffering. 2018-01-08 01:11:00 +01:00
Lucio Andrés Illanes Albornoz
54adf3a95c MiRCART{CanvasJournal,Frame,ToolRect}.py: implements variable brush size. 2018-01-08 00:33:47 +01:00
Lucio Andrés Illanes Albornoz
6a4356568b MiRCARTFrame.py:MiRCARTFrame.canvas{Export{AsPng,Imgur,Pastebin},New,Open,Save}(): add wx.CURSOR_WAIT guards. 2018-01-08 00:05:10 +01:00
Lucio Andrés Illanes Albornoz
39babc71a4 MiRCART{CanvasStore,Frame}.py: implements export to Imgur (from bitmap via PNG.) 2018-01-08 00:05:10 +01:00
Lucio Andrés Illanes Albornoz
84ab4eee5a Initial release sans tools. 2018-01-08 00:05:03 +01:00
Lucio Andrés Illanes Albornoz
f6911293c3 MiRCARTFrame:MiRCARTFrame.TID_SELECT, [CM]ID_*: adds selectable item type.
MiRCARTFrame:MiRCARTFrame.{_initMenus,__init__}(): automatically set menu item initial state.
2018-01-07 15:20:27 +01:00
Lucio Andrés Illanes Albornoz
1c5f869c40 MiRCARTFrame.py: remove obsolete MiRCARTTo{Pastebin,PngFile} imports.
MiRCARTFrame.py:MiRCARTFrame.__init__(): initially disable (grey out) Copy, Cut, Delete, Paste, Export to Pastebin, and Export as PNG menu items.
2018-01-07 15:07:37 +01:00
Lucio Andrés Illanes Albornoz
3c28fa0071 MiRCARTCanvasStore.py: split & merge MiRCART{FromTextFile,ToPastebin,ToTextFile}.py. 2018-01-07 15:07:22 +01:00
Lucio Andrés Illanes Albornoz
115991736a MiRCART.py: hand off to MiRCARTFrame().
MiRCARTCanvas.py: split from MiRCART.py.
MiRCARTCanvasJournal.py: split from MiRCART.py.
MiRCARTColours.py: split from MiRCART.py.
MiRCARTFrame.py: split from MiRCART.py.
MiRCARTFromTextFile.py: initial implementation.
MiRCARTToPastebin.py: initial implementation.
MiRCARTToPngFile.py, IrcMiRCARTBot.py: renamed MiRC2png to MiRCARTToPngFile.
MiRCARTToTextFile.py: split from MiRCART.py.
MiRCARTTool.py: split from MiRCART.py.
MiRCARTToolRect.py: split from MiRCART.py.
README.md: updated.
2018-01-07 03:45:18 +01:00
Lucio Andrés Illanes Albornoz
0259662a4e IrcClient.py:IrcClient.connect(): explicitly pass encoding="utf-8" to clientSocket.makeFile(). 2018-01-06 16:40:20 +01:00
Lucio Andrés Illanes Albornoz
d93e1fecda MiRCART.py:MiRCARTCanvasJournal: split from MiRCARTCanvas. 2018-01-06 04:48:15 +01:00
Lucio Andrés Illanes Albornoz
fcc4215b68 {IrcClient,IrcMiRCARTBot,MiRC{2png,ART}}.py: fix spaces & typo. 2018-01-06 02:50:12 +01:00
Lucio Andrés Illanes Albornoz
968d07050e MiRCART.py:MiRCARTTool{,Rect}: cleaned up. 2018-01-06 02:46:46 +01:00
Lucio Andrés Illanes Albornoz
16065401e8 MiRCART.py:MiRCARTCanvas: cleaned up. 2018-01-06 02:42:26 +01:00
Lucio Andrés Illanes Albornoz
44e593714d {IrcClient,IrcMiRCARTBot.py,MiRC{2png,ART}}.py: include parameters in function header comments. 2018-01-06 01:44:45 +01:00
Lucio Andrés Illanes Albornoz
845185f9c3 MiRCART.py:MiRCARTFrame: cleaned up. 2018-01-06 01:23:48 +01:00
Lucio Andrés Illanes Albornoz
5350ebd881 README.md, MiRCART.png: added screenshot & WIP/pending cleanup tags. 2018-01-05 21:18:06 +01:00
Lucio Andrés Illanes Albornoz
61d53c818c MiRCART.py:MiRCARTFrame.__init__(): remove debugging print(). 2018-01-05 21:15:33 +01:00
Lucio Andrés Illanes Albornoz
703aa2c388 MiRCART.py:MiRCARTPalette, MiRCARTFrame.panelPalette: replaced w/ toolbar items.
MiRCART.py:MiRCARTFrame.toolBar*: added.
MiRCART.py:MiRCARTFrame.onToolColour{Bg,Fg}(): hand off to onPaletteEvent().
MiRCART.py:MiRCARTFrame.__init__(): create & initialise toolbar.
2018-01-05 20:45:21 +01:00
Lucio Andrés Illanes Albornoz
55381cf57b MiRCART.py:MiRCARTFrame.__init__(): update File menu titles to "Export to Pasteb&in..." and "Export as PN&G...". 2018-01-05 18:28:19 +01:00
Lucio Andrés Illanes Albornoz
28ae8f04f8 MiRCART.py:MiRCARTCanvas.{parentFrame,__init__()}: added for MiRCARTFrame.onCanvasUpdate().
MiRCART.py:MiRCARTCanvas._processMapPatches(): call parentFrame.onCanvasUpdate() given updates.
MiRCART.py:MiRCARTCanvas.{re,un}do(): call parentFrame.onCanvasUpdate() given {re,un}do.
MiRCART.py:MiRCARTFrame.onCanvasUpdate(): {dis,en}able menuEdit{Re,Un}do on updates.
2018-01-05 18:21:38 +01:00
Lucio Andrés Illanes Albornoz
813d49a3f2 MiRCART.py:MiRCARTFrame.__init__(): disable (grey out) menuEdit{Redo,Undo} initially. 2018-01-05 18:12:02 +01:00
Lucio Andrés Illanes Albornoz
c7fbe5b20c MiRCART.py:MiRCARTFrame.__init__(): change default appSize to (800, 600). 2018-01-05 18:09:25 +01:00
Lucio Andrés Illanes Albornoz
8215229f84 MiRCART.py:MiRCARTFrame: complete GUI skeleton. 2018-01-05 18:08:10 +01:00
Lucio Andrés Illanes Albornoz
133c4dc240 MiRCART.py:MiRCARTCanvas.patchesUndoLevel: added to track {un,re}do queue movement in both directions.
MiRCART.py:MiRCARTCanvas._processMapPatches(): remove {un,re}do queue items 0..patchesUndoLevel when updating queue.
MiRCART.py:MiRCARTCanvas._processMapPatches(): prepend to queue instead of appending.
MiRCART.py:MiRCARTCanvas._processMapPatches(): insert {un,re}do queue items as single (list) item each.
MiRCART.py:MiRCARTCanvas.redo(): decrement patchesUndoLevel & apply redo patch, if patchesUndoLevel > 0.
MiRCART.py:MiRCARTCanvas.undo(): apply undo patch & increment patchesUndoLevel, if patchesUndo[patchesUndoLevel] != None.
MiRCART.py:MiRCARTFrame.{menuFileRedo,onFileRedo(),__init__()}: adds `&Redo' File menu item w/ wx.ID_REDO.
MiRCART.py:MiRCARTFrame.{accelRedoId,onAccelRedo(),__init__()}: binds ^Y accelerator to MiRCARTCanvas.redo().
MiRCART.py: update title.
2018-01-05 17:21:14 +01:00