Commit Graph

494 Commits (master)

Author SHA1 Message Date
Sven Eberhardt 949ab90fc8 Editor: Fix enum delegate setting a value on cancel undeer certain conditions 2016-08-27 21:33:25 -04:00
Sven Eberhardt aa8289b55b Editor: Always commit string property changes if text has been edited 2016-08-27 21:24:43 -04:00
Sven Eberhardt 528504d72e Editor: Hide grade circle in viewport when using rectangle or picker tool 2016-08-27 20:10:58 -04:00
Sven Eberhardt 4f74d88d51 Editor: Fix selected object property dropdown list 2016-08-27 19:56:46 -04:00
Sven Eberhardt c98f99b427 Editor: Do not reset landscape brush when switching tools 2016-08-27 19:43:34 -04:00
Sven Eberhardt 6070bb4782 Fix editor prop enum option Set function 2016-08-27 19:05:12 -04:00
Sven Eberhardt 6b9df3118c Sort UserAction evaluators and groups by name
Also merge effect group into ambience group.
2016-08-27 16:46:59 -04:00
Sven Eberhardt 00bc92e13f Use short names as main editor delegate display in property window.
Simplifies most user action displays by omitting things like "Constant" in the list.
2016-08-27 10:12:17 -04:00
Sven Eberhardt 357eb462bd Fix display of nil enum child delegate value if stored in a proplist and key is not defined.
It would fall back to the outer value instead.
2016-08-27 02:21:35 -04:00
Sven Eberhardt e4b4246500 Fix freezing and assignment of static names to child proplists created in Definition()-callbacks (#1798)
Also adjust editor props for the change:
1. enum needs to create a copy, not a reference for the default value of an option if it is defined inline
2. Always use proper GetName() resolution on property group names even if a static name would be available
2016-08-27 02:04:03 -04:00
Sven Eberhardt 568088aedb Editor: Add Copy+Paste functionality for properties 2016-08-19 16:13:28 -04:00
Lukas Werling 26a552473c Add support for two extra mouse buttons (#mantis-is-down-right-now)
This also fixes a missing definition for "MiddleDouble". Only
implemented for SDL and Qt, someone else will have to do Windows.
2016-08-18 22:43:42 +02:00
Lukas Werling 4f5ba57170 Allow scenario saving as editor client 2016-08-09 18:55:43 +02:00
Sven Eberhardt 9d715387f2 Qt editor: Store and restore window layout (docked dialogues, etc.) 2016-08-08 23:57:24 -04:00
Sven Eberhardt 60240ac05b Qt editor: Fix material size slider when adjusting with a method other than dragging 2016-08-08 17:39:10 -04:00
Sven Eberhardt 4c349b8c17 Qt editor: Fix enum parameter delegate initial value assignment 2016-08-07 23:42:41 -04:00
Sven Eberhardt 08d2e3f521 Qt editor: Fix material selection sorting and remove duplicates 2016-08-07 10:33:21 -04:00
Sven Eberhardt 39cfd4a0fe Fix non-editor build (this time for real!) 2016-08-07 02:18:01 -04:00
Sven Eberhardt 0b5e8723c2 Fix non-editor build 2016-08-07 01:42:29 -04:00
Sven Eberhardt 62fb460180 Qt editor: Make completer in script input box case sensitive 2016-08-06 23:54:47 -04:00
Sven Eberhardt 5c70c2aa42 Qt editor: Fix viewport titles and decorations
The custom title bar caused a lot of problems. Particularly turning it on and off between docked and undocked modes caused some internal trouble with the rendering going off. It also didn't have a close button.

Fortunately, the desired font and highlight effect of selected viewports can also be achieved with style sheets on the dock.
2016-08-06 23:39:44 -04:00
Sven Eberhardt 40abe71a8c Qt editor: Better placement of PlayerStart object in new scenario 2016-08-06 21:29:26 -04:00
Sven Eberhardt 3553cd54b5 Qt editor: Allow creation of larger map in new scenario 2016-08-06 21:29:09 -04:00
Sven Eberhardt a7fffcfd77 Qt editor: Clear definition list on game close 2016-08-06 21:19:24 -04:00
Sven Eberhardt b6e45daa24 Qt editor: Enable play button to start game in lobby 2016-08-06 21:16:28 -04:00
Sven Eberhardt 5bb204d69b Qt editor: Fix net menu
It didn't work, had the wrong labels and crashed.
2016-08-06 21:12:04 -04:00
Sven Eberhardt c0f95d97f7 Fix net menu popping up out of nowhere all the time 2016-08-06 20:29:15 -04:00
Sven Eberhardt 6dc4cb7f1d Remove some outdated todo comments in C4ConsoleQt 2016-08-06 20:28:50 -04:00
Sven Eberhardt 20eaaa97b3 Fix chatting in editor lobby 2016-08-06 20:22:33 -04:00
Sven Eberhardt a14f8597d2 Qt editor: Fix AsyncGet on bool delegate 2016-08-05 01:00:33 -04:00
Sven Eberhardt 6bd6c07195 Qt editor: Remove some debug logging 2016-08-04 22:22:14 -04:00
Lukas Werling b7359e0c27 Remove the GTK platform (USE_GTK)
The GTK code does not work with the Qt editor. The simpler SDL2 platform
does, so we have little reason to keep the GTK code.

Note that GTK is still a dependency for mape.

Discussion: http://forum.openclonk.org/topic_show.pl?tid=3328
2016-08-03 16:25:46 +02:00
Sven Eberhardt 24a5dc33db Qt editor: Sort properties in property list by localized name and priority 2016-08-02 01:12:08 -04:00
Sven Eberhardt 69fff71abf Qt editor: Fix crash on player removal 2016-07-31 23:22:09 -04:00
Sven Eberhardt d1e8bc39c5 Qt Editor: Fix enum property delegate option value lookup for undefined options 2016-07-31 10:35:15 -04:00
Sven Eberhardt 442b8e66df Qt Editor: Add short name for enum delegate options displayed as sub-delegate 2016-07-30 14:50:07 -04:00
Sven Eberhardt d55c988d2e Qt Editor: Support EmptyName enum delegate property for user-defined option lists
This can be used to clarify what happens e.g. when nil is selected in an object function delegate.
2016-07-30 14:13:23 -04:00
Sven Eberhardt 8840105f6c Qt editor: Auto-dropdown child enums on creation 2016-07-30 02:37:33 -04:00
Sven Eberhardt affa2aebb0 Qt Editor: Add point property delegate 2016-07-30 01:05:12 -04:00
Sven Eberhardt 37885a2e4f Qt Editor: Add AllowEditing flag for enum delegates.
Used for sound delegate
2016-07-28 00:24:28 -04:00
Sven Eberhardt b6fb7e884f Qt Editor: Put current selection name before EditorHelp/Description 2016-07-27 22:36:14 -04:00
Sven Eberhardt 73510d7fb1 Qt Editor: Add sound property delegate 2016-07-27 22:35:11 -04:00
Sven Eberhardt 11b317808f Qt Editor: Add toggle help button to "?" menu 2016-07-25 21:39:35 -04:00
Sven Eberhardt 4246a72485 Qt Editor: Add EditorHelp for enum options 2016-07-25 01:05:15 -04:00
Sven Eberhardt ee88a36f73 Qt Editor: Rename EditorInfo to EditorHelp
Fits better with "UsageHelp" and is more precise.
2016-07-24 23:10:43 -04:00
Sven Eberhardt 3a6a7626c1 Qt Editor: Add help hover button to editor props 2016-07-24 23:00:24 -04:00
Sven Eberhardt 4245f60e83 Qt Editor: Add help/description label for current selection 2016-07-24 10:12:38 -04:00
Kanibal a7d6a7dbd7 Use file selector instead of directory selector (select Scenario.txt for unpacked workspace) to select files 2016-07-23 22:47:15 -04:00
Martin Plicht 78f336c67c C4ConsoleQtViewport: Un-TODO some line for now 2016-07-23 18:20:36 +02:00
Sven Eberhardt 5bfd2b87c5 Qt Editor: Reorder array editing buttons below property action buttons 2016-07-23 02:34:08 -04:00
Sven Eberhardt 1f3e457ec2 Qt Editor: Fix enum child delegate value setting if a Set path is defined on the parent proplist 2016-07-23 01:40:51 -04:00
Sven Eberhardt 14d01cd5cd Qt Editor: Add EmptyName option for def property to rename the "nil" entry 2016-07-22 00:28:01 -04:00
Sven Eberhardt 4fad947980 Qt Editor: Add Set function options SetGlobal and SetRoot 2016-07-21 00:24:53 -04:00
Lukas Werling 513d51384f Fix nullptr -> bool conversion in return value
GCC does not like this, although both MSVC and clang accept it.
2016-07-19 17:21:23 +02:00
Sven Eberhardt 42e142b4d7 Qt Editor: Fix shape delegates as parameters to enum delegates 2016-07-18 19:24:53 -04:00
Sven Eberhardt 68358c0f87 Qt Editor: Improve display of object delegate 2016-07-14 00:45:18 -04:00
Sven Eberhardt d605bab0be Qt Editor: Move EditorActions from EditorAction_* to a proplist EditorAction.* 2016-07-14 00:17:53 -04:00
Sven Eberhardt 5a9e608f55 Qt Editor: Do not show properties of dead effects 2016-07-13 22:14:28 -04:00
Sven Eberhardt 59712bcea0 Qt Editor: Fix display of effect properties 2016-07-13 22:02:18 -04:00
Sven Eberhardt 28d2172b78 Qt Editor: Move editor props from EditorProp_* to an EditorProp proplist 2016-07-13 17:18:08 -04:00
Sven Eberhardt dfb709df6b Qt Editor: Do not reset value to default parameter when re-selecting an already selected index 2016-07-12 23:28:51 -04:00
Sven Eberhardt 3c84f9e6f8 Qt Editor: Fix evaluation of ValueKey in enum option when changing child delegate value 2016-07-12 22:29:24 -04:00
Sven Eberhardt 0206e9a74a Qt Editor: Add HideInCreator DefCore setting
Hides internal definitions, libraries, etc. from the object creator in the editor.
2016-07-10 21:55:56 -04:00
Sven Eberhardt 85c5deb099 Qt Editor: Add option to auto-select objects created by an EditorAction
To be used by the dialogue so you can press a button on the clonk to add and immediately configure a dialogue.
2016-07-07 01:36:58 -04:00
Sven Eberhardt 990b6ea8f1 Qt Editor: Add option to descend directly into a subpath from array and sequence property delegates 2016-07-06 00:56:08 -04:00
Sven Eberhardt 8bc5e1911d Qt Editor: When descending into array delegates, use the parent name as header. 2016-07-05 23:27:55 -04:00
Sven Eberhardt 343658db96 Fix MSVC build
Not sure why this builds elsewhere.
2016-07-05 22:54:19 -04:00
Sven Eberhardt 63c9bd78e7 Qt Editor: Fix crash and prop list/array display problems when switching prop lists.
Storing the pointer in QModelIndex could sometimes keep invalid memory on the persistent model indices. Because re-organizing these memory locations would be a nightmare and we only go two levels deep anyway, just store the parent index in the internal pointer and look up the actual property on the fly.
2016-07-05 22:53:41 -04:00
Sven Eberhardt 162a7cb331 Qt Editor: Resolve child delegates when evaluating proplist delegate display value 2016-07-04 13:21:31 -04:00
Sven Eberhardt 62c1f4bda5 Qt Editor: Add callback support for dynamic enum values in Enum delegates 2016-07-04 13:21:30 -04:00
Sven Eberhardt cfca3be7e2 Qt Editor: Fix log output widget settings
Make text non-editable, etc.
2016-07-04 13:21:29 -04:00
Lukas Werling 8ab5d35550 Fix crash due to invalid QApplication arguments
It would trigger on Linux when opening menus.
2016-06-30 22:23:21 +02:00
Sven Eberhardt ed368e128b Qt Editor: Ensure duplicated objects are moved to the cursor without extra mouse movement 2016-06-22 01:46:13 -04:00
Sven Eberhardt 8158cbf87c Qt Editor: Allow hotkey (F2) to duplicate selected objects.
Also reset cursor pos to center of duplicated objects to ensure they're on screen when duplicating by hotkey.
2016-06-22 01:04:14 -04:00
Sven Eberhardt a7aa89f168 Merge branch 'master' into qteditor
Conflicts:
	planet/Objects.ocd/Structures.ocd/StoneDoor.ocd/SpinWheel.ocd/Script.c
	src/platform/C4WindowSDL.cpp
	src/script/C4AulParse.cpp
	src/script/C4Effect.cpp
2016-06-20 22:27:03 -04:00
Sven Eberhardt 9d9db0d9d5 Qt Editor: Fix grouped item selection in enum property delegate 2016-06-20 19:48:02 -04:00
Sven Eberhardt e97491940f Qt Editor: Fix possible crash if am object is deleted while the object selection delegate combo box is open 2016-06-20 19:13:50 -04:00
Sven Eberhardt b6526d2f65 Qt Editor: Always duplicate contents with objects
Even if they are not selected, this is probably what the user expects.
2016-06-20 15:50:35 -04:00
Lukas Werling b853f99b28 Fix -Wc++11-narrowing error in clang 2016-06-20 16:08:37 +02:00
Sven Eberhardt 44d94d5043 Improve editor duplicate function to duplicate properties and object connections.
It serializes objects using a selective SaveScenarioObjects script callback and then just executes the generated script. This automatically saves important properties, connects switches and doors, etc.

This change also solves the problem that duplicating an elevator plus case would create two elevator cases.

If execution fails (e.g. because of script errors or because a non-saveable object was duplicated), the method falls back to the legacy duplication method of creating objects with the same prototypes at the same position.
2016-06-20 01:45:26 -04:00
Sven Eberhardt e7be7d6acd Qt Editor: Add viewport context menu 2016-06-19 22:45:12 -04:00
Sven Eberhardt 34289fa18a Qt Editor: Add EditorActions.
Replacing the old EditCursorCommands (which nobody knew). Objects now publish their commands directly on the property viewer.
2016-06-19 00:08:09 -04:00
Sven Eberhardt 08b7980d69 Qt Editor: Fix shape relative default 2016-06-18 10:43:00 -04:00
Sven Eberhardt a598dee4e1 Qt Editor: Fix shape delegate parent object when delegate is provided by an effect 2016-06-18 10:41:15 -04:00
Sven Eberhardt 0162b4b21f Qt Editor: Make Relative=true the default for shape delegates.
It should be by far the more common setting.
2016-06-18 10:40:24 -04:00
Sven Eberhardt 1b785da271 Fix non-Qt build 2016-06-18 10:33:08 -04:00
Sven Eberhardt 25fa57cabf Qt Editor: Add "Static Flat" landscape mode 2016-06-17 18:44:59 -04:00
Sven Eberhardt ec6998e530 Qt Editor: Fix some crashes and errors when switching between object and definition selection 2016-06-17 01:26:38 -04:00
Sven Eberhardt 2e412d1668 Qt Editor: Fix log output position 2016-06-17 00:56:23 -04:00
Sven Eberhardt b70882d7fa Editor: Object scaling+rotation 2016-06-17 00:07:49 -04:00
Sven Eberhardt f913b4d012 Qt Editor: Highlight objects hovered in object selection delegate in viewport 2016-06-16 16:15:15 -04:00
Sven Eberhardt 2f22a3a8fe Qt Editor: Add property delegate type "object" 2016-06-16 14:59:04 -04:00
Sven Eberhardt 9e4f036fe2 Qt Editor: Focus across columns in property editor 2016-06-16 13:19:35 -04:00
Sven Eberhardt a52857d073 qt editor: Add string delegate 2016-06-16 00:40:25 -04:00
Sven Eberhardt 2df6fdb52b qt editor: Improve grouped enum tree navigation 2016-06-16 00:09:53 -04:00
Sven Eberhardt e5837dc478 Qt Editor: Use definition grouping on "def" property delegate enum 2016-06-15 21:57:59 -04:00
Sven Eberhardt ad863836b3 Qt Editor: Add groups to enum 2016-06-15 00:15:47 -04:00
Lukas Werling 6b958fe88e Fix viewports on high-DPI screens 2016-06-11 22:36:48 +02:00
Lukas Werling 60671474a8 Use Qt's event loop instead of polling for events
This fixes slow input event handling execution on Linux. Additionally,
it seems to fix some crashes with the menu bar.
2016-06-11 21:52:50 +02:00
Sven Eberhardt 0767fd2616 Qt Editor: Auto-add PlayerStart object to scenarios created via "New..." option. 2016-06-08 22:27:32 -04:00
Sven Eberhardt 0bb910814d Qt Editor: Fix display and control of enum delegate parameters 2016-06-08 00:37:48 -04:00
Sven Eberhardt f44cb9fa62 Qt Editor: Fix script errors on empty selection 2016-06-06 23:26:20 -04:00
Sven Eberhardt 16e31098b4 Qt Editor: Improve proplist and array display/editing
* Add/Remove element buttons
* Display customization of user delegates
2016-06-06 01:54:05 -04:00
Sven Eberhardt b10da0629d Qt Editor: More EditorProps types (string, array) and attributes (EditOnSelection, DefaultEditorProp) 2016-06-03 01:20:43 -04:00
Sven Eberhardt af2a74b6ec Qt Editor: Array editing 2016-05-28 09:30:54 -04:00
Sven Eberhardt d304b17028 Qt Editor: Editing of child proplists 2016-05-24 23:06:00 -04:00
Sven Eberhardt 8a5dbdc73f Qt Editor: More shape prop storage options 2016-05-23 19:22:49 -04:00
Sven Eberhardt 747077b71b Qt Editor: Fix effect properties 2016-05-23 19:22:05 -04:00
Sven Eberhardt 881534bee0 Qt Editor: Shape properties 2016-04-25 16:17:10 -04:00
Sven Eberhardt c0228be4e7 Qt Editor: More editor property types and functionality 2016-04-16 22:05:35 -04:00
Armin Burgmeier 0580132d81 Fix the build on Linux
With NULL, the function call was ambiguous. Use nullptr to choose the overload
taking a pointer and not the one taking an integer.
2016-04-10 13:27:16 -07:00
Sven Eberhardt 2a2fc68e3f Qt Editor: Add user properties 2016-04-09 14:29:02 -04:00
Sven Eberhardt 879d501592 Merge remote-tracking branch 'remotes/origin/qteditor' into qteditor
Conflicts:
	src/editor/C4ConsoleQtPropListViewer.cpp
	src/editor/C4ConsoleQtPropListViewer.h
	src/script/C4ValueArray.cpp
2016-04-04 19:34:02 -04:00
Nicolas Hake 1e1532ef8a Darwin: What the hell does "#import" do anyway? 2016-04-04 23:27:50 +02:00
Sven Eberhardt 98c36e5955 Qt Editor: Implement setting of properties 2016-04-03 23:46:58 -04:00
Sven Eberhardt e8f48fd53e Qt Editor: Win32 build fixes 2016-04-03 23:46:20 -04:00
Nicolas Hake 9dddf289db Merge branch 'master' into qteditor 2016-04-03 21:06:32 +02:00
Nicolas Hake eabca223f5 Update all copyright notices for 2016 2016-04-03 20:24:42 +02:00
Nicolas Hake 493c276126 Rewrite header inclusions to #include "path/to/file.h" style 2016-04-03 20:24:42 +02:00
Nicolas Hake 735f9cc06b C4Landscape: Pull everything private out of the header
Since LTCG is enabled now, we don't have to define every function inside
the headers for ~xXx super speed xXx~, which means we can strip the
headers down to their bare minimum and reduce interdependencies and
therefore recompilation times by a lot.
2016-04-03 13:24:24 +02:00
Sven Eberhardt 370b9cf898 Qt Editor: Disable vsync to avoid laggy viewports 2016-03-28 23:10:10 -04:00
Lukas Werling a12e485458 Qt Editor: Add scroll bars to the viewports 2016-03-28 22:07:43 +02:00
Sven Eberhardt 9294d8b9dc Qt Editor: Fix title and icon
Using the .ico needs a plugin that is not always loaded.
2016-03-26 23:55:28 -04:00
Lukas Werling ca88a0a52a Implement new Linux editor todos 2016-03-26 21:43:37 +01:00
Lukas Werling 6d9aef33c2 Merge branch 'qteditor-sdl' into qteditor 2016-03-26 20:57:10 +01:00
Lukas Werling f8dc58e0ed Remove Windows editor rendering hacks (untested) 2016-03-26 20:54:26 +01:00
Lukas Werling 61e97ee87e Fix zooming not working in the editor 2016-03-26 20:40:09 +01:00
Lukas Werling f9190cd1ea Fix keyboard input for Qt editor/SDL
The SDL port used to define a separate set of key codes differing from
the usual ones. The SDL codes are now translated to make the Qt input
easy.

This also fixes a broken keycode for the '0' key.
2016-03-26 20:29:07 +01:00
Lukas Werling 30dd360a57 Update the Qt rendering widget periodically 2016-03-26 19:03:16 +01:00
Sven Eberhardt dc7259bb1e Qt Editor: Allow opening of user path from welcome page 2016-03-26 14:02:40 -04:00
Sven Eberhardt f2daa51fa7 Qt Editor: Add "Welcome" dock widget 2016-03-26 01:36:40 -04:00
Armin Burgmeier 56545dc5f3 Fix crash when constructing C4ConsoleQtDefinitionListViewer 2016-03-25 14:16:43 -07:00
Sven Eberhardt 1613885f47 Qt Editor: Use qt resource to set icon 2016-03-23 22:56:17 -04:00
Sven Eberhardt 9690174007 Qt Editor: Fix windows includes 2016-03-23 18:20:23 -04:00
Sven Eberhardt b1ac208249 Qt Editor: Add "File->New" menu entry 2016-03-22 23:08:05 -04:00
Lukas Werling 4290038909 Move all viewport drawing to QOpenGLWidget::paintGL
Unfortunately, this still doesn't fix rendering. Note that the paintGL()
isn't called periodically yet, only when resizing the window.
2016-03-22 16:50:38 +01:00
Lukas Werling e1eb62a552 Fix warnings about overridden functions 2016-03-20 21:16:52 +01:00
Lukas Werling 75f62e52f2 Make Qt editor work with the SDL engine
Viewport rendering doesn't quite work yet, though.
2016-03-20 21:16:52 +01:00
Lukas Werling 08d7c9dcea Implement GetShiftWParam() with Qt 2016-03-20 21:16:52 +01:00
Sven Eberhardt a3cdfa3221 Qt Editor: Add shadow to landscape brush circle
To be more visible e.g. when drawing snow or in front of a white sky
2016-03-20 11:35:20 -04:00
Sven Eberhardt 3f7d68ff2c Qt Editor: Sort objects in object creator by name 2016-03-19 14:40:23 -04:00
Sven Eberhardt ed0647866e Qt Editor: Add preview for new object placement 2016-03-19 14:40:22 -04:00
Lukas Werling b64b4e8574 Compilation fixes for Linux 2016-03-18 21:34:21 +01:00
Sven Eberhardt 4f70fdbfc8 Qt Editor landscape drawing fixes and improvements. Add brush size preview. 2016-03-18 00:26:14 -04:00
Sven Eberhardt 645520c7af Qt Editor: Fix viewport focus and keyboard handling. 2016-03-15 22:58:41 -04:00
Sven Eberhardt f6ce50e9e7 Qt Editor: Use qt widgets for viewports 2016-03-10 00:07:17 -05:00
Sven Eberhardt 63bbba06bb Qt Editor: Add missing creator files 2016-03-06 13:17:14 -05:00
Sven Eberhardt 80549ca2cc Qt Editor: Add object creator 2016-03-06 13:06:29 -05:00
Sven Eberhardt 74b3983f7f Fix some Qt editor crashes
Fix use-after-delete on proplists by item view and crash on recursive execution of message processing.
2016-03-03 00:13:39 -05:00
Sven Eberhardt 771a333e21 Qt Editor: Add effects to object list view + fixes
Also remove cache of C4Values and use callbacks on object and effect deletion instead.
2016-02-21 22:23:42 -05:00