960 Commits

Author SHA1 Message Date
David Vierra
9e2004de19 Remove multi-imports from PasteImportCommand 2015-10-08 18:07:07 -10:00
David Vierra
6def097021 Reduce maximum raycast distance. 2015-10-08 02:23:32 -10:00
David Vierra
2557df5e58 Move PendingImport and PendingImportNode to imports.py, disable multi-imports (for now)
Rewrite much of them for clarity.
2015-10-08 02:23:22 -10:00
David Vierra
df25824820 Move PendingImport and PendingImportNode to imports.py 2015-10-07 15:32:00 -10:00
David Vierra
7c897202f6 Library widget starts on Schematics tab 2015-10-07 01:35:12 -10:00
David Vierra
b4464656d3 Adjust colors of greyed-out Save icon. 2015-10-07 01:35:01 -10:00
David Vierra
bb05c9bb19 Don't raise ValueError when creating non-creatable sections, return None instead. 2015-10-07 01:30:55 -10:00
David Vierra
83a882e7d0 TranslateNode.translateOffset is now Vector typed. 2015-10-07 01:30:34 -10:00
David Vierra
f0145de3d3 Painfully fixed recursion depth error when undoing Move Finish commands.
This is very, very unsatisfactory. It isn't clear which object is the definitive source for a pending import's position, transformed or not.
2015-10-07 01:29:55 -10:00
David Vierra
cf34b418c4 Fix progress dialog suddenly reappearing after a delay. 2015-10-06 19:26:26 -10:00
David Vierra
c2ff80a4b9 Create MCEProgressDialog, which cannot be closed by any means. 2015-10-06 17:13:14 -10:00
David Vierra
0b1f47c2b9 WorldLoader now has a startLoader function with a minimum duration.
The minimum duration tells how long to load chunks immediately before starting the async loader.
2015-10-06 17:12:32 -10:00
David Vierra
7bdcd2c044 Flood fill tool now has hover and flood direction options. 2015-10-06 17:11:35 -10:00
David Vierra
dbbacea7a8 Progress dialog is once again cancelable, and has a minimum time before displaying. 2015-10-06 17:10:48 -10:00
David Vierra
7fd974426e SimplePerformCommand uses showProgress to show commitUndo progress.
Makes Flood Fill tool show progress when committing undo.
2015-10-06 17:09:57 -10:00
David Vierra
95fceb8af5 Add some docstrings to editorsession.py 2015-10-05 18:57:14 -10:00
David Vierra
fba87789f7 Schematics dropped into the editor window have a more sensible initial position 2015-10-05 15:32:00 -10:00
David Vierra
21df3c4b94 Add top toolbar buttons for Save and Fill
Save icon changes to indicate whether there are unsaved changes. The icon does not distinguish between modifying and non-modifying (e.g. selection size) commands.
2015-10-04 17:29:49 -10:00
David Vierra
41a1cbb90f Fix zero division when printing copy stats. 2015-10-04 13:12:59 -10:00
David Vierra
c5e2b121d8 Move tool finally has "Copy Air" option. 2015-10-04 00:32:02 -10:00
David Vierra
a6d754a2c4 Fix rotated objects not moving with their box handle. 2015-10-04 00:31:43 -10:00
David Vierra
1131632260 Add explicit copyAir flag to copyBlocksIter 2015-10-04 00:30:47 -10:00
David Vierra
e24aebd2d0 Fix clone tool not resetting offset when used a second time. 2015-10-04 00:30:30 -10:00
David Vierra
dbc62d5a7f Make imported objects not sunken one block into the ground. 2015-10-04 00:30:14 -10:00
David Vierra
c5718770f5 Set EditorSession.currentDimension earlier to try to fix a weird AttributeError 2015-10-04 00:29:56 -10:00
David Vierra
6dd9e6fedd Allow files to be imported by drag and drop into editor window. 2015-10-04 00:29:31 -10:00
David Vierra
cb88acf905 Rewrite CloneTool to use PendingImportNode's mouse event handling. 2015-10-03 01:17:14 -10:00
David Vierra
23f71061fc Do not emit handleBoundsChangedDone for non-changes. 2015-10-03 01:16:10 -10:00
David Vierra
1167d930ed PendingImportNode now forwards mouse events to its handleNode 2015-10-03 01:15:57 -10:00
David Vierra
63d02760f0 Greatly simplify extractSchematicFromIter 2015-10-03 00:09:22 -10:00
David Vierra
911aa28470 Move tool now imports the transformed form of the moved object
... as you would expect from looking at the live preview of the moved object. Also, intermediate schematics are skipped when the source and destination boxes do not intersect.
2015-10-03 00:08:54 -10:00
David Vierra
9be6563ba2 transform_test now tests selection, rotation, and selection+rotation 2015-10-02 14:03:46 -10:00
David Vierra
16565712d9 Move tool now displays live previews of the rotated blocks 2015-10-02 14:03:30 -10:00
David Vierra
2c531925fb PendingImport now has rotate/scale and transformedDim attributes
transformedDim is recreated whenever the rotate/scale are changed. Its chunks are lazily evaluated.
2015-10-02 14:02:49 -10:00
David Vierra
fc0080015d Fix movable-only BoxHandles not actually being movable. 2015-10-02 14:02:00 -10:00
David Vierra
d6f5b98b95 RotateNode allows degrees and axis to be changed. 2015-10-02 14:01:41 -10:00
David Vierra
986a4fb4fe Refactor RotationTransform, create SelectionTransform 2015-10-02 14:01:08 -10:00
David Vierra
c96a8565bc Use Tool action now has "any" modifiers.
May have undesirable side effects.
2015-10-01 22:34:40 -10:00
David Vierra
37bd7e098a BoxHandle now uses explicit isMoving, isCreating, isResizing flags instead of inferring them from other state 2015-10-01 22:31:20 -10:00
David Vierra
db584cf563 Resizing selection box only triggers immediate chunk loads when mouse button is released. 2015-10-01 22:30:20 -10:00
David Vierra
a5e54c62b5 Refactor drag-to-move out of MoveTool and into BoxHandle.
This is a bit icky - PendingImportNode emits a signal that MoveTool handles by moving the "current import", instead of by moving the PendingImportNode's import.

TODO: Give CloneTool the same treatment.
2015-10-01 22:28:37 -10:00
David Vierra
5deb2f2723 Refactor drag-to-move out of MoveTool and into BoxHandle.
This is a bit icky - PendingImportNode emits a signal that MoveTool handles by moving the "current import", instead of by moving the PendingImportNode's import.

TODO: Give CloneTool the same treatment.
2015-10-01 21:29:25 -10:00
David Vierra
cc569bce1c Refactor PendingImportNode to contain a translate node rather than be one 2015-10-01 17:49:02 -10:00
David Vierra
a91d6b3441 Create rotation input widget in preparation for live rotation. 2015-10-01 17:11:48 -10:00
David Vierra
f5c860f342 Move modifier condition to ViewAction.matchModifiers, handle modifiers==None as "any"
TrackingMouseAction now has "any" modifiers.
2015-10-01 17:11:20 -10:00
David Vierra
dd195c34e8 Refactor BoxHandle in preparation of making it movable. 2015-10-01 17:10:18 -10:00
David Vierra
4015ec033a Add RotationTransform, a proxy dimension that rotates blocks.
Blocks are rotated as their sections are accessed, making this proxy responsive for live editing.
2015-10-01 00:04:37 -10:00
David Vierra
c0e403ed6a TextureAtlas can handle worlds without filenames 2015-10-01 00:03:28 -10:00
David Vierra
257cd3f7fc ChunkUpdate.areaLights returns an appropriately-sized array for lights
... when the level in question has no light arrays.
2015-10-01 00:03:18 -10:00
David Vierra
50c441fa29 displaySchematic updates as chunks are loaded instead of preloading chunks 2015-10-01 00:02:38 -10:00