289 Commits

Author SHA1 Message Date
David Vierra
d9236e697c Add Import/Export menu and commands, start to get them working (finally) 2015-03-19 17:00:32 -10:00
David Vierra
3ce14fd504 Add Library to Windows menu 2015-03-19 14:09:06 -10:00
David Vierra
8d800bf098 Show first 8 elements of array types in NBT trees.
Maybe later we'll add a hex editor...
2015-03-19 14:08:47 -10:00
David Vierra
f2df2ebfcc Adjust starting point up to player's eye-level (again...) 2015-03-19 12:24:11 -10:00
David Vierra
cf97caced3 NBT Replace converts string input to the appropriate type, and marks the [tile]entity ref dirty. 2015-03-18 23:46:32 -10:00
David Vierra
ad5fe0205b Add UUID field to PCEntityRef, add dirty() to PCEntityRef and PCTileEntityRef
Ugh... still need to decide whether a PC[Tile]EntityRef (and ItemRef and so on) refers to an entity in any revision (and can sometimes be invalid), or only a single revison (and can be read-only most of the time)
2015-03-18 23:45:34 -10:00
David Vierra
6f0deec967 Clear tileEntity inspector when no tile entity, use correct type for entity UUID label 2015-03-18 23:44:16 -10:00
David Vierra
09b2884086 Skip players with unparseable UUIDs 2015-03-18 23:42:25 -10:00
David Vierra
087f6e153b THIS LINE apparently causes a crash when an EditorSession with any commands in its QUndoStack is garbage-collected.
Probably related to Qt's object ownership rules. The QUndoStack owns any commands put into it.
2015-03-18 23:41:43 -10:00
David Vierra
f9a00d9961 Add "Collect Garbage" to debug menu 2015-03-18 23:40:34 -10:00
David Vierra
e0878cee26 Fix recent files menu only opening the last world in the menu (oops) 2015-03-18 17:07:18 -10:00
David Vierra
c28f8b9e75 NBTEditor uses its sorting proxy model again. Now to find out what was so wrong with it that it was removed. 2015-03-18 16:56:32 -10:00
David Vierra
d753361dbf Clicking a result in the NBT find results will zoom to that entity or tileEntity 2015-03-18 16:20:19 -10:00
David Vierra
ec5d6584d1 When loading a world, start from the single-player's viewpoint like in MCEdit 1 2015-03-18 16:19:49 -10:00
David Vierra
5abd935862 After changing tag names, update the results view. Really ugly, need to do it through the model and not the results 2015-03-18 16:02:32 -10:00
David Vierra
83826f7179 Implement "Replace All" function for NBT search
Add replacement inputs to results widget and synchronize them
Add default value to MCESettingsOption
2015-03-18 15:51:33 -10:00
David Vierra
891649d9d3 Started work on InspectorWidget
(doot-do-doot-do-doot doot doot, woo woo)
2015-03-18 12:27:39 -10:00
David Vierra
9d3ba92c76 Add "Find again..." button to NBT results 2015-03-18 10:37:24 -10:00
David Vierra
8d295eb2ce Begin separating the Select Block and Select Entity tools apart 2015-03-18 10:37:17 -10:00
David Vierra
f2131a3e86 PlayersPanel doesn't error when a player doesn't have a UUID (for older worlds) 2015-03-17 22:42:15 -10:00
David Vierra
e483424e17 More work on NBT find/replace
Find/replace settings are saved and loaded
Checkboxes are sync'd with field contents
Find results are shown in a separate dock widget
Result entries unambiguously point to an entity or tile entity
2015-03-17 22:41:47 -10:00
David Vierra
ae0e1bed1f Create a settings namespace object to group related settings 2015-03-17 22:40:04 -10:00
David Vierra
f4b620dbff xxx BlockPicker changed to need textureAtlas and not editorSession 2015-03-17 18:13:35 -10:00
David Vierra
402bdb508a Move several selection-related commands from SelectionTool's options panel to the Select menu in EditorSession 2015-03-17 18:13:12 -10:00
David Vierra
5bacc8bf4a Ensure that the map view gets cleaned up when the WorldListWidget is closed/hidden/rejected
Seems a bit redundant.
2015-03-17 16:08:56 -10:00
David Vierra
864907a689 EditorTab weakly references EditorSession 2015-03-17 15:46:16 -10:00
David Vierra
1c50a305d9 Don't try to read Forge 1.6 "ID" mapping. These store Java class names and not textual block IDs. Worry about this much later, if at all. 2015-03-17 15:42:28 -10:00
David Vierra
d1fd57347d In FML for MC 1.6, 'ordinal' is not the block/item's "meta" - I still don't know what it's for. 2015-03-17 15:37:18 -10:00
David Vierra
a6448022a2 Remove the session's undoStack from the app's undoGroup when the session is closed. 2015-03-17 15:36:58 -10:00
David Vierra
e9de29b9d6 Core ViewActions no longer reference the EditorSession, and weakly reference its EditorTab 2015-03-17 15:36:50 -10:00
David Vierra
74f4c27339 NBTEditorWidget weakly references EditorSession 2015-03-17 14:18:15 -10:00
David Vierra
9de48d2d3f PlayersPanel weakly references EditorSession 2015-03-17 14:16:17 -10:00
David Vierra
33b166931f Update recent files on startup 2015-03-17 14:15:45 -10:00
David Vierra
c11fa41b52 Only add actual block IDs from FML mapping (worry about items later)
For some reason this required adding two new ID->name mappings to BlockTypeSet
2015-03-17 13:01:40 -10:00
David Vierra
53099af2c6 EditorTool is now responsible for creating its toolbar action and providing a signal for EditorSession to connect.
EditorTool weakly references EditorSession.
EditorSession does not connect loader.allChunksDone to a lambda any more
2015-03-17 11:19:50 -10:00
David Vierra
27c1fadbdd ChunkLoader weakly references its clients, so as not to keep them alive and not require them to be unregistered on destruction 2015-03-17 11:17:39 -10:00
David Vierra
cd4a8aacbf Don't set mainWindow as parent of PlayerPanel
Doing so keeps the editorSession alive as a side effect.
2015-03-16 22:09:41 -10:00
David Vierra
9390d9ecfb sessionDidChange now handles switching to a None session (no sessions open, etc)
Clears panels and tools toolbars and removes session dockwidgets.
2015-03-16 22:07:35 -10:00
David Vierra
53ab8b12bf objgraphwidget: filter common primitive types out, change showBackrefs to have more useful output 2015-03-16 21:04:29 -10:00
David Vierra
dec908d20d Block button/picker no longer needs an EditorSession, just a TextureAtlas 2015-03-16 20:02:39 -10:00
David Vierra
11a5f19f1e Destroy WorldView's renderGraph to ensure GL resources are released 2015-03-16 18:18:34 -10:00
David Vierra
b8a3512768 WorldView.viewportMoved does pass the view as its only argument, so don't pretend it doesn't. 2015-03-16 18:18:04 -10:00
David Vierra
3482baeffd objgraphwidget remembers its input field
also fix double argument in showBackrefs
2015-03-16 16:34:31 -10:00
David Vierra
6dea8642a3 weakrefprop handles setting to None 2015-03-16 15:18:33 -10:00
David Vierra
50ae15ca8a weakrefprop can auto-assign its instance variable name 2015-03-16 15:16:36 -10:00
David Vierra
4fdda2b1cb Recent worlds submenu is back in action 2015-03-16 14:15:30 -10:00
David Vierra
92de1874a1 destroyLists -> destroy, explicit None checks in scene/rendergraph 2015-03-16 14:14:36 -10:00
David Vierra
422f2c2892 objgraphwidget honors the width/depth for all graphs, handles aborted/failed graphs calmly 2015-03-16 14:13:47 -10:00
David Vierra
dbe57e9b76 Add a property descriptor for weakref'd members 2015-03-16 14:13:19 -10:00
David Vierra
80fe8f5584 Paste at current mouse position 2015-03-16 10:52:57 -10:00