#39 closed feature (fixed)
Implement the input device configuration dialog
Reported by: | Henrik Heimbuerger | Owned by: | Henrik Heimbuerger |
---|---|---|---|
Priority: | critical | Milestone: | MS1: First release (1.0.0) |
Component: | ui | Version: | pre-1.0 |
Keywords: | ui, prototype, input device | Cc: |
Description
Four sections, separated by vertical lines. Image at the top, configuration below.
Change History (22)
comment:1 Changed 17 years ago by
Owner: | changed from somebody to Henrik Heimbuerger |
---|---|
Status: | new → accepted |
comment:2 Changed 17 years ago by
Status: | accepted → assigned |
---|---|
Summary: | Draft a UI concept for the input device dialog → Implement the input device configuration dialog |
Type: | task → new feature |
comment:3 Changed 17 years ago by
Status: | assigned → accepted |
---|
comment:4 Changed 17 years ago by
comment:5 Changed 17 years ago by
comment:6 Changed 17 years ago by
comment:7 Changed 17 years ago by
New commit by hheimbuerger (revision [181]):
[Partial fix for ticket #39] Created an InputDeviceManager (bean) and added a preliminary integration with the player settings dialog.
The XyzDeviceController classes have been renamed to XyzDevice because they now represent instances of a device. (If the device is used for more than one player, there are also multiple instances of the class.)
They are all subclasses of the abstract class DeviceController (formerly an interface) which contains common code, like managing the ID and the name. The ID will be necessary to track modifications of input devices that are already assigned to a player. That makes the Devices enum superfluous.
The PlayerSettingsDialog does use the InputDeviceManager to fill its combo boxes but has not yet been completely adjusted.
comment:8 Changed 17 years ago by
New commit by hheimbuerger (revision [182]):
[Partial fix for ticket #7, related to ticket #39] Added integration of Wiimote detection to the input device dialog.
The Wiimote section of the input device settings dialog has been finished. The currently connected Wiimotes are displayed and a redetection can be triggered. However, Wiimote detection currently seems to be broken on Windows.
The dialog's cancel button has been removed, as many operations cannot be undone (case in point: connecting Wiimotes).
comment:9 Changed 17 years ago by
comment:10 Changed 17 years ago by
Status: | accepted → assigned |
---|
comment:11 Changed 17 years ago by
Milestone: | MS3: Input device and slot car track support → MS1: First usable version |
---|
Batch moved MS3 (input device/technology integration) to MS1 (first working version).
comment:12 Changed 17 years ago by
Component: | unspecified → ui |
---|
comment:13 Changed 17 years ago by
Use a tabbed pane instead of the the vertical lines (not enough screen estate).
comment:14 Changed 17 years ago by
Status: | assigned → accepted |
---|
comment:15 Changed 17 years ago by
New commit by hheimbuerger (revision [215]):
[Partial fix for ticket #39] Major rewrite of the input device settings dialog.
The device types are now configured in a tab folder. The 'four sections' design didn't leave enough place for proper configuration. Additionally, a list of all configured devices has been added at the bottom to give a quick overview which devices can be used.
Most of this functionality has been factored out into an abstract class (AbstractSettingsDialog) so it can be reused for the connector configuration dialog.
The InputDeviceManager has been overhauled and now actually manages the devices instead of just being a more comfortable collection class. That also allowed to do proper one-time checks on whether the external libraries (for game controllers and Wiimotes) are available. If they are not, the corresponding sections are now completely deactivated and just refer the user to the logs.
Some other modifications were necessary to get all this working:
- the GameControllerDeviceManager no longer catches the UnsatisfiedLinkError itself, as the InputDeviceManager must know about this
- the playersBean is now initialized empty
- the CarController has been made an abstract class and does the ID and name management (this functionality has been pulled up from the DeviceController, as it will be needed for driving agents anyway)
- the MouseDevice returns a debug signal as the KeyboardDevice already did
comment:16 Changed 17 years ago by
comment:17 Changed 17 years ago by
comment:18 Changed 17 years ago by
comment:19 Changed 17 years ago by
comment:20 Changed 17 years ago by
New commit by hheimbuerger (revision [224]):
[Partial fix for tickets #39 and #63] Removed unnecessary composite in the AbstractSettingsDialog and adjusted the layouts on the subclassed dialogs.
The AbstractSettingsDialog no longer sets a layout manager on the tabs' inner composites. This led to removing one composite level.
comment:21 Changed 17 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:22 Changed 17 years ago by
New commit by hheimbuerger (revision [245]):
[Fix for ticket #84, related to #39 and #63] Fixed exception that was thrown when the input settings dialog was closed with the X-button in the top right.
This was caused by the cleanup code being in the okPressed() handler, which was not called when the X-button was clicked.
The X-button has now been replaced with a 'Close' button as suggested in the ticket to indicate that all changes are immediate and there's no difference whether the dialog is closed with the X or with the Close button. The cleanup code has been moved to the close() method.
Also, the preview update timer now checks if its widget (the progress bar) is still available before modifying it.
Additionally, the layout of the 'mouse' tab has been fixed.
New commit by hheimbuerger (revision [159]):
[Partial fix for ticket #39] Created a stub input device configuration dialog and integrated it into the application.
There's no functionality yet.
The icon of the 'player settings' dialog has been replaced.