Commit Graph

27 Commits

Author SHA1 Message Date
Jamie Dale
9cd80fd9a6 Fixed order of initialisation bug by using GetEditingObject() instead
The DataTable pointer was only set when the data table tab was opened, so if you re-ordered your tab so that the row editor was created first, the row editor would be using a null data table pointer and the editor wouldn't work correctly.

[CL 2524427 by Jamie Dale in Main branch]
2015-04-24 11:27:46 -04:00
Jamie Dale
4e1c779078 Improved the property filtering options when creating a structure detail view
Previously you could only control whether you saw object properties or not, you can now control whether you see object, asset, class, and interface properties.

[CL 2520833 by Jamie Dale in Main branch]
2015-04-22 07:29:04 -04:00
Jamie Dale
4b3576349f Data table undo/redo support
UETOOL-281 - Improve data table workflows
UETOOL-304 - Data table editor doesn't support undo/redo properly

Undo/redo is now supported when adding, removing, moving, or renaming rows, as well as changing the properties of any given data table row.

This also adds highlighting when filtering the data table view, and slightly adjusts the selected row color so it doesn't blend into the background, as well as ensuring the data table is emptied prior to loading (as undo/redo loads on top of an existing object).

[CL 2511605 by Jamie Dale in Main branch]
2015-04-14 09:30:09 -04:00
Jamie Dale
444ac09bfd Converted the data table editor to use SListView
UETOOL-281 - Improve data table workflows

This is needed as the changes that had been made to SSplitter have been moved to SHeaderRow instead, as they were too specific to go into the generic splitter.

This means that the data table editor now has two list views (one for the row names, one for everything else) which are kept in sync. We have two so that the row names can be anchored to the left of the screen when scrolling the other columns.

[CL 2508489 by Jamie Dale in Main branch]
2015-04-10 13:06:36 -04:00
Mikolaj Sieluzycki
a96989f147 Add includes to files to remove the need of including Engine.h.
[CL 2508000 by Mikolaj Sieluzycki in Main branch]
2015-04-10 03:30:54 -04:00
Jamie Dale
e6bd050b0e Added some test cases for the ManualSize splitter slot type
Renamed the slot type from AbsoluteSize to ManualSize to avoid overloading the term "absolute".

Fixed some resizing issues when a ManualSize slot was used alongside the other slot types.

Improved the validation used when deciding whether a drag handle cursor should be shown, as this wasn't working correctly for ManualSize slots.

#codereview Nick.Atamas

[CL 2498725 by Jamie Dale in Main branch]
2015-04-01 12:09:44 -04:00
Jamie Dale
c723773762 Added the ability to re-order rows in the data table editor
UETOOL-295 - Can't re-order rows in a data table

Added an option to move a row up or down, or to the top or bottom of the data table.

Updated the row editor UI to be more consistent with other editors, and re-arranged some of the controls on the toolbar, adding tooltips where appropriate.

Fixed the highlighted row in the data table not matching the selected row editor row when a data table was first opened.

[CL 2497325 by Jamie Dale in Main branch]
2015-03-31 12:04:50 -04:00
Jamie Dale
21e83235c8 Added the ability for data tables to edit class and object properties
UETOOL-290 - Data tables don't let you edit asset/class references in the row editor panel

Also fixed the fact that the properties panel wouldn't scroll.

[CL 2497080 by Jamie Dale in Main branch]
2015-03-31 08:28:35 -04:00
Jamie Dale
d3868f0a02 Stopped data table columns from auto-sizing even after the user has explicitly sized them
[CL 2497078 by Jamie Dale in Main branch]
2015-03-31 08:27:12 -04:00
Jamie Dale
ce38e17fcd Data table UI improvements
UETOOL-291 - Improve the data table UI

The column sizes in the data table can now be resized as desired, and also default to being sized to match their content rather than as a simple proportion of their parent size. Any resized columns are remembered between editing sessions.

The data table view now scrollable horizontally as well as vertically to account for the fact that the data may now be wider than the current view.

[CL 2495732 by Jamie Dale in Main branch]
2015-03-30 11:38:04 -04:00
Jamie Dale
6af0f20199 Data table improvements
UETOOL-281 - Improve data table workflows
UETOOL-282 - Data tables cannot be exported as CSV
UETOOL-289 - Data tables cannot represent arrays in their CSV data

Split up the util functions into their own file (DataTableUtils).
Split up the CSV exporting/importing into its own file (DataTableCSV).
Split up the JSON exporting/importing into its own file (DataTableJSON).
Added support for exporting/importing/displaying array properties.
Added the ability to export a data table as CSV.
Added the ability to import a data table from JSON.

[CL 2494005 by Jamie Dale in Main branch]
2015-03-27 12:29:42 -04:00
Jamie Dale
bbb0624bff Fixed code relying on SLATE_TEXT_ATTRIBUTE for tooltips.
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)

This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.

[CL 2401019 by Jamie Dale in Main branch]
2015-01-08 11:35:01 -05:00
Jamie Dale
a569f6b356 Fixed code relying on SLATE_TEXT_ATTRIBUTE for STextBlock.
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)

This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.

[CL 2399803 by Jamie Dale in Main branch]
2015-01-07 09:52:40 -05:00
Maciej Mroz
dbf32b9124 DataTable RowEditor: When you changed name of row, and selected new row without hitting enter, name is changed on the newly selected row, instead of the old one, which works counter intuitive.
#688 based on pull request

[CL 2388878 by Maciej Mroz in Main branch]
2014-12-15 15:30:22 -05:00
John Abercrombie
4e9ac6444a Merging using UE4-Fortnite-To-UE4 @ CL 2382284
[CL 2388856 by John Abercrombie in Main branch]
2014-12-15 15:29:48 -05:00
Maciej Mroz
e2c0c2ccfc DataTableEditor UI: A row can be selected (in Row Editor tab) by clicking on Data Table Editor tab. UI tweaks.
#codereview Matt.Kuhlenschmidt

[CL 2385590 by Maciej Mroz in Main branch]
2014-12-11 10:59:40 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Jamie Dale
f440490671 Converted the property editor to use FText
The display name, filter string, and tooltips for the property editor (and associated detail customizations) are now stored as FText rather than FString. This allows us to remove SLATE_TEXT_ARGUMENT from the detail customization widgets.

[CL 2372595 by Jamie Dale in Main branch]
2014-12-01 11:19:41 -05:00
Maciej Mroz
ee4921520c Data Table Row Editor first version.
Editor Utils refactored.
Some fixes in GetDataTableRow.

[CL 2369718 by Maciej Mroz in Main branch]
2014-11-25 09:36:31 -05:00
Mikolaj Sieluzycki
51f5333986 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356864 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:58:53 -05:00
Dan Hertzka
2ab1556645 Adjusted access to the LocalWorkspaceMenuRoot within FTabManager - GetLocalWorkspaceRoot() now returns a const and provides methods to expose adding a category and clearing categories
#codereview nick.atamas

[CL 2338925 by Dan Hertzka in Main branch]
2014-10-23 15:11:28 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
Dan Hertzka
f3092790eb Window menu refactor & polish
- Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes.

- Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely.

- Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category.

- Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly.

- Added & updated lots of icons! (those missing will be TTP'd)

- The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability.

- Unreal frontend options were also moved into a context menu within the General section

- Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category

- Undo history now under Edit menu

[CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
Andrew Rodham
3cf620821a Datatable editor now refreshes correctly when the datatable is reimported
[CL 2281420 by Andrew Rodham in Main branch]
2014-09-02 09:35:37 -04:00
Maciej Mroz
c2716cb296 DataTable can use UserDefinedStructure.
When UDS is modified, DT stroes it's data serialized (with tags).

[CL 2265789 by Maciej Mroz in Main branch]
2014-08-21 06:38:07 -04:00