This is an archived, read-only instance of the JaCaVi Trac. This site is no longer actively maintained. Registration and login have been disabled. Content is preserved for reference only.

Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#6 closed feature (fixed)

Create a track designer view in SWT

Reported by: Fabian Rohn Owned by: Fabian Rohn
Priority: major Milestone: MS1: First release (1.0.0)
Component: ui Version: pre-1.0
Keywords: track designer, editor Cc:

Description

Create a track designer view in an editor part inside EclipseRCP with SWT and JFace.

Change History (29)

comment:1 Changed 18 years ago by Henrik Heimbuerger

Status: newassigned
Type: taskenhancement

comment:2 Changed 18 years ago by Henrik Heimbuerger

Milestone: MS2: Track editor available

comment:3 Changed 18 years ago by Henrik Heimbuerger

Work on this ticket should probably be postponed until #5 has reached a stable state.

comment:4 Changed 18 years ago by SVN

New commit by frohn (revision [84]):
[Partial fix for ticket #6] Initial version of Track Designer
There is only shown Henriks Track View with some Save functionality(doesn't work yet)

comment:5 Changed 18 years ago by SVN

New commit by frohn (revision [86]):
[Partial fix for ticket #6] Fixed some import mistakes

comment:6 Changed 18 years ago by SVN

New commit by frohn (revision [87]):
[Partial fix for ticket #6] Added the SafeSaveDialog?
"Safe" because the dialog handles the problem, when a use try to overwrite an existing file

comment:7 Changed 18 years ago by SVN

New commit by hheimbuerger (revision [102]):
[Partial fix for ticket #5, related to ticket #6] The current Track of the TrackWidget can now be changed and the TrackWidget is notified about modifications of the track.

The TrackWidget now expects a Track object in the constructor that will be used to initialize the Widget with. The current track can also be changed using the setTrack() method.

Additionally, the TrackWidget now automatically registers itself as a listener on the track (both when the track is assigned via the constructor as well as when it is changed using setTrack()) and will update itself when the track changes.

comment:8 Changed 18 years ago by Fabian Rohn

Status: assignedaccepted

comment:9 Changed 18 years ago by SVN

New commit by frohn (revision [109]):
[Partial fix for ticket #6] First Layout for Track Designer

comment:10 Changed 18 years ago by SVN

New commit by frohn (revision [113]):
[Partial fix for ticket #6] New and Open Action implemented
*NEW -> A new raw Track with only the Start/Finish? tile is created
*OPEN -> An existing Track is loaded from filesystem

NOTE: I added a field FILE_EXTENSION into the Track Class for a better use of file extension filters in file dialogs (NEW/OPEN/SAVE)

comment:11 Changed 18 years ago by SVN

New commit by frohn (revision [115]):
[Partial fix for ticket #6] Track Designer after RCP start visible (only for debugging)

comment:12 Changed 18 years ago by SVN

New commit by hheimbuerger (revision [116]):
[Partial fix for ticket #6, related to ticket #19] The track designer now retrieves the available tiles from the tileset repository.

The track designer now retrieves the available tiles from the tileset repository. It's currently using only the debug tileset, because the class doesn't know which tileset the user wants yet.

The preview images are loaded as SWT images, separately from the Java2D images stored in the tileset repository. It could be discussed whether it would make more sense to convert the Java2D images to SWT images (which technically simple), as the Java2D are already in memory anyway.

Some modifications were necessary to make this possible:

  • Tiles now have a display name.
  • The Tile now provides getters for the display name and the filename.
  • The TilesetRepository now stores the tiles of a specific tileset in a SortedMap? instead of a Map, so the ordering used in the tiles.xml will also be used in the track designer.

NOTE: The application will crash if no display name of a tile (attribute name on the tiles element) is defined in the tiles.xml.

comment:13 Changed 18 years ago by SVN

New commit by frohn (revision [132]):
[Partial fix for ticket #6] Track Designer with a first usable Selection Listener

Try it out by Clicking the ToolItems?

comment:14 Changed 18 years ago by SVN

New commit by frohn (revision [133]):
[Partial fix for ticket #6] Added a first Delete functionality

Try it out by Double-Clicking the Tiles on the Track and press DEL(or ENTF)

comment:15 Changed 18 years ago by SVN

New commit by hheimbuerger (revision [138]):
[Partial fix for ticket #5, related to ticket #6] Improved code for removing sections in the designer and prevented the initial tile from being removed.

The code for removing tiles in the TrackDesigner has been moved into the Track's removeSection() method.

The initial tile is now properly determined from the tiles.xml and used to initialize a new thread. It can no longer be removed (removeSection() throws an exception) and it's no longer part of the list returned by TilesetRepository.getAvailableTiles().

Additionally, a bug has been fixed that prevented the TrackWidget from rerendering after a section insertion if no selection was active.

comment:16 Changed 18 years ago by Henrik Heimbuerger

Is there a reason why it's not possible to open multiple editor windows or is that just not yet implemented?

comment:17 Changed 18 years ago by SVN

New commit by frohn (revision [142]):
[Partial fix for ticket #6] Exception Handling and scaled Images in the Toolbar

The Exceptions are handled by a simple ErrorDialog?.

The Tile images are now scaled. Now there are a few Toolbars embedded in one CoolBarItem?, so they could be scaled. After experimenting a lot today, I think it looks a bit better than the last version, but it's not the finish one.

comment:18 Changed 18 years ago by SVN

New commit by frohn (revision [146]):
[Partial fix for ticket #6 and #42] Track Designer redesigned

The Trackdesigner now instantiates only the Track Widget. The Tiles to enlarge the track are outsourced in the Tile Explorer View (maybe the name has to be reconsider). This view is always updated if the Active Editor change.
The Tiles aren't more embedded into a Coolbar, but now in several Buttons, which could now be scrolled.

comment:19 Changed 18 years ago by SVN

New commit by frohn (revision [156]):
[Partial fix for ticket #6 and #42] Track Designer redesigned

The init Perspective has now a Tile Explorer and a Track Outline View.

comment:20 Changed 18 years ago by SVN

New commit by frohn (revision [157]):
[Partial fix for ticket #6 and #42] Fixed last Commit und added TrackOutline?

comment:21 Changed 18 years ago by SVN

New commit by frohn (revision [158]):
[Partial fix for ticket #6 and #42] A Selection inside the Track Outline leads also to a selection of a tile inside the TrackWidget?

comment:22 Changed 18 years ago by SVN

New commit by frohn (revision [168]):
[Partial fix for ticket #6 and #42] Track designer now completely synchronized with Track Outline View

Track Outline has now also a small scaled 16x16 Image.
The Selection is shown in an ugly light gray, when the focus is on Track Designer. But this is exactly the Eclipse way, if you look at unfocused selection inside the Eclipse IDE.

comment:23 Changed 18 years ago by SVN

New commit by hheimbuerger (revision [179]):
[Partial fix for ticket #6] The TrackOutlineView now uses the 'full selection' attribute.

comment:24 Changed 18 years ago by Henrik Heimbuerger

Milestone: MS2: Track editor availableMS1: First usable version

Batch moved all tickets from MS2 (track editor) to MS1 (first working version).

comment:25 Changed 18 years ago by Henrik Heimbuerger

Component: unspecifiedui
Type: enhancementfeature

comment:26 Changed 18 years ago by Fabian Rohn

Resolution: fixed
Status: acceptedclosed

comment:27 Changed 18 years ago by SVN

New commit by hheimbuerger (revision [268]):
[Bugfix for ticket #6] The TileExplorer now only lists the tiles that are actually valid for inserting.

Right now, this only means that the TileExplorer will no longer list the initial tile for insertion, as it is always in a freshly created track anyway.

comment:28 Changed 18 years ago by SVN

New commit by frohn (revision [269]):
[Partial fix for ticket #6] TileExplorer? more economic (via ImageRegistry?)

Furthermore I have given the tile buttons an equal square size (120x120 px).

NOTE: DEBUG Tiles are a bit small, because the images are always scaled.

comment:29 Changed 18 years ago by SVN

New commit by frohn (revision [289]):
[Partial fix for ticket #6] TileExplorer? and TrackOutline? have now the right behaviour when an editor has been closed.

In the last version, these views had not been repainted. Now this has been fixed.

Note: See TracTickets for help on using tickets.