Universal GUI for specifications edition: RefSpecPanel and related
commit64e66efc1f4b1525bafe83f08ed9555a99e60acf
authorMarek Zawirski <marek.zawirski@gmail.com>
Sun, 17 Aug 2008 16:27:20 +0000 (17 18:27 +0200)
committerMarek Zawirski <marek.zawirski@gmail.com>
Sun, 17 Aug 2008 19:15:47 +0000 (17 21:15 +0200)
treeae6f8fb8abc639540fb487549d68eadca85da8a1
parent72230ae957b3303b0891fed56050673ee94ea73b
Universal GUI for specifications edition: RefSpecPanel and related

RefSpecPanel provides universal GUI (Control) for editing list of RefSpec
specifications for both push or fetch, depending on panel configuration.

It is intended to allow user easily edit specifications, supporting user
with rich content assistant and giving feedback with error information as
soon as possible. Component uses editable specifications table and panels
for easy creation of new specifications basing on typical push/fetch
schemes (like branch update, deletion, all branches update, saved
configuration etc.).

Possibly there are still some places when this panel usability could be
improved by some UI-engineer. I hope it shouldn't be very hard and panel
core and API should resist such changes. Keyboard handling could be
improved perhaps, some bugs are still open for MacOS, with one critical
reported to bugzilla.

RefSpecPage class is fetch/push WizardPage using RefSpecPanel extensively.

Beside of RefSpecPanel class this commit introduces some components needed
to build this one. As these components as potentially reusable, they are
put in components package and declared as public.

Influenced-by-smart-comments-of: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com>
org.spearce.egit.ui/src/org/spearce/egit/ui/UIText.java
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/CenteredImageLabelProvider.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/CheckboxLabelProvider.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/ClickableCellEditor.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/ComboLabelingSupport.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefContentProposal.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPage.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/internal/components/RefSpecPanel.java [new file with mode: 0644]
org.spearce.egit.ui/src/org/spearce/egit/ui/uitext.properties