04.09.2010, 21:29
versuchs doch mal damit
Grüße,
Ilmari
ConvertPanel::tablePositions
|
04.09.2010, 23:32
Das ist wieder das Diff-Format, das IntelliJ und diff nicht verstehen. Wie hast Du den ersten Patch in diesem Thread gebaut?
--
Christian
05.09.2010, 09:32
(04.09.2010, 23:32)routeconverter Wrote: Das ist wieder das Diff-Format, das IntelliJ und diff nicht verstehen. Wie hast Du den ersten Patch in diesem Thread gebaut? Ich habe aus IntelliJ VersionControl-> CreatePatch und dann Deinem Wunsch entsprechend unnötige Dinge händisch eliminiert. Mag IntelliJ bei Apply Patch händisch veränderte patches nicht? Grüße, Ilmari
05.09.2010, 13:08
Habe jetzt heute den aktuellen Stand gezogen und meine Ändeurgen da eingepflegt und davon einen Patch generiert.
Das Sortieren der Positionsliste funktioniert so nun. Was noch gemacht werden müsste ist für jede Spalte eine spezifische Compare funktion zu erzeugen. Aber das würde ich erst machen/erforschen, wenn Du das Sortieren, wie ich es jetzt implementiert habe, akzeptierst. Ich habe im Moment überhaupt keinen Überblick, ob das irgendwo noch Seiteneffekte haben kann. Grüße, Ilmari
06.09.2010, 07:47
(05.09.2010, 13:08)IlmariKrebs Wrote: Das Sortieren der Positionsliste funktioniert so nun. Was noch gemacht werden müsste ist für jede Spalte eine spezifische Compare funktion zu erzeugen. Prima. (05.09.2010, 13:08)IlmariKrebs Wrote: Aber das würde ich erst machen/erforschen, wenn Du das Sortieren, wie ich es jetzt implementiert habe, akzeptierst. Ich auch nicht... bislang hatte ich kaum Anfragen nach dem Sortieren und alle Funktionen im Programm wirken bislang direkt auf den Daten. Die Ausnahme ist das Kontextmenü im Tabellenkopf - sie blendet Daten ein und aus. Wo ich grüble ist, ob Sortier- und Filterfunktionen nun direkt auf den Daten wirken sollen oder nur die Ansicht der Daten beeinflussen sollten wie in Deinem Vorschlag. Ich fürchte die vielen Supportanfragen, wenn Nutzer genau das andere erwarten, was implementiert ist ![]() Aus Usability-Sicht wäre die Wirkung der Sortieroperation zu klären, diese ggfs. ins Undo/Redo zu integrieren, es bräuchte eine Möglichkeit, die Ansicht zum Lade-Zeitpunkt wiederherzustellen. Und einen bloßen Klick auf den Tabellenkopf werden die meisten nicht als Sortieraufforderung verstehen, d.h. das Kontextmenü und die Menüzeile wären zu erweitern. Für die nächste Version ist das zu viel - ich warte nur darauf, daß die Website fertig wird und will dann releasen. Den Konflikt, ob Sortier- und Filterfunktionen nun direkt auf den Daten wirken sollen oder nur die Ansicht der Daten beeinflussen sollten wie in Deinem Vorschlag, sieht man auch auf technischer Sicht. Ich habe den JTable bewußt als Liste gebraucht, die Spaltenorientierung bringt dann Fehler wie diesen hervor: Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: column beyond range of TableModel at javax.swing.DefaultRowSorter.checkColumn(DefaultRowSorter.java:1202) at javax.swing.DefaultRowSorter.toggleSortOrder(DefaultRowSorter.java:435) at javax.swing.plaf.basic.BasicTableHeaderUI$MouseInputHandler.mouseClicked(BasicTableHeaderUI.java:96) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:252) at java.awt.Component.processMouseEvent(Component.java:6270) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
--
Christian
06.09.2010, 14:46
Hallo ihr beiden,
ich habe bisher still mitgelesen, möchte mich aber auch kurz zu Wort melden. Den einzigen für mich sinnvollen Anwendungsfall für eine Sortierfunktion sehe ich im Sortieren von POI's. Entweder alphabetisch nach Beschreibung oder geografisch nach Breitengrad oder Längengrad. Ein anderer Anwendungsfall fällt mir momentan nicht ein. Tracks oder Routen würden durch eine Sortierfunktion schlicht zerstört werden. Wäre zu den Ansichten "Route", Track" und "Wegpunkt" eine vierte Ansicht "POI" möglich? Und wäre es möglich, eine Sortierfunktion nur für eine solche Ansicht zu erlauben? Gruß, Matthias
--
Matthias
06.09.2010, 15:38
(06.09.2010, 14:46)kumo Wrote: Tracks oder Routen würden durch eine Sortierfunktion schlicht zerstört werden. Du gehst dabei davon aus, daß eine Sortierfunktion immer auf den Daten arbeitet und nicht die Ansicht der Daten betrifft, richtig? (06.09.2010, 14:46)kumo Wrote: Wäre zu den Ansichten "Route", Track" und "Wegpunkt" eine vierte Ansicht "POI" möglich? Ja, doch wo unterscheidet sie sich von der "Wegpunkt"-Ansicht? (06.09.2010, 14:46)kumo Wrote: Und wäre es möglich, eine Sortierfunktion nur für eine solche Ansicht zu erlauben? Ja.
--
Christian (06.09.2010, 15:38)routeconverter Wrote: Du gehst dabei davon aus, daß eine Sortierfunktion immer auf den Daten arbeitet und nicht die Ansicht der Daten betrifft, richtig? Ja, genau. (06.09.2010, 15:38)routeconverter Wrote: Ja, doch wo unterscheidet sie sich von der "Wegpunkt"-Ansicht? Als Map für eine "POI"-Ansicht macht meines Erachtens nur die bekannte "Wegpunkt"-Map Sinn. Edit: Wenn das "Bobbel"-Symbol veränderbar wäre, könnte natürlich für eine "POI"-Ansicht ein eigenes "POI"-Symbol verwendet werden. Ich dachte daran, so die relativ gefährliche Sortierfunktion auf einen bestimmten Anwendungsfall zu isolieren.
--
Matthias
06.09.2010, 17:54
(06.09.2010, 15:50)kumo Wrote: Ich dachte daran, so die relativ gefährliche Sortierfunktion auf einen bestimmten Anwendungsfall zu isolieren. Man könnte ihn auch in ein Menü verlegen.
--
Christian
Stimmt, aber wie? Da gibt es viele Möglichkeiten.
Grundsatzfrage: Soll ein Sortieren der ganzen Positionsliste möglich sein oder eines Teilbereichs? Für die komplette Positionsliste könnte man vielleicht den Spaltenkopf mit dem Sortierkriterium mit der linken Maustaste markieren und danach eine Menüfunktion oder das Kontextmenü aufrufen. Und die Entscheidung Auf-/Abwärtssortierung sollte auch möglich sein. Das Sortieren von Teilbereichen wird schon schwieriger. Da müsste wohl erst der Teilbereich markiert werden und dann (vielleicht mit gedrückter [STRG] Taste) der Spaltenkopf des Sortierkriteriums. Und die Entscheidung Auf-/Abwärtssortierung sollte auch wieder möglich sein. Oder für Teilbereiche alternativ: Erst Spaltenkopf mit dem Sortierkriterium mit der linken Maustaste markieren, dann mit gedrückter [STRG] Taste den Teilbereich der Zeilen auswählen und danach eine Menüfunktion oder das Kontextmenü. Und die Entscheidung Auf-/Abwärtssortierung sollte auch wieder möglich sein.
--
Matthias |
« Next Oldest | Next Newest »
|