• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Fingerbedienung der MovingMap

Wutschkow

Geomaster
Hälmchen schrieb:
die von araber angehängte Datei ist eine neue Version der MovingMap.java in der das verschieben statt klicken Problem gelöst sein sollte.
Danke für das Update. Das Antippen klappt damit jetzt WESENTLICH besser (bislang liegt die Quote bei 100%).
Das grundlegende Problem ist aber noch nicht gelöst, denn das Verschieben-Event findet immer noch statt, jetzt nur ca. 1 Sekunde später.
Der Effekt: Alle Symbole, Menü usw. verschwinden, kurze Pause, dann verschiebt sich die Karte und dann kommt das Menü wieder.
Anscheinend wird das Event noch mal weiterverarbeitet, nachdem Du es für Dein Menü schon ausgewertet hast. Wohlgemerkt, das ganze tritt auch bei ausgeschaltetem GPS auf, liegt also nicht an einer Positionsänderung. Aber auch bei Positionsänderungen vom GPS wäre es IMHO sinnvoll, das Aktualisieren der Karte zu unterbinden, solange das Menü geöffnet ist.

Zwei andere Dinge die mir aufgefallen sind. Bei der vorherigen Version hatte ich davon nichts bemerkt:

1.) Wenn man die Karte aufruft, sieht man regelmäßig nur die Karte ohne Bedienelemente. Erst wenn man das Display einmal antippt, werden die Bedienelemente angezeigt. Es passiert nicht jedes Mal, aber recht häufig. Eine Systematik konnte ich noch nicht erkennen. Mein Verdacht ist allerdings, dass es beim ersten Aufruf der Karte immer klappt, nur bei späterem erneuten Aufrufen der Karte nicht immer.

2.) Jedes Mal, wenn ich die Karte schließe, merkt sie sich die Position des Ziels (das blaue Kästchen mit dem "x" drin) und "pinnt" diese auf dem Display fest. Wenn ich die Karte mehrmals schließe und wieder öffne (und die Zielposition jedes Mal verschoben war), habe ich im Laufe der Zeit eine nette Sammlung von Kästchen auf dem Bildschirm, die auch nicht mehr weggehen. Wobei sie wie gesagt nicht auf der Karte festgepinnt sind, sondern auf dem Display. Also wenn ich die Karte verschiebe, bleiben sie, wo sie sind. Da werden wohl irgendwelche Imageobjekte beim Schließen der Karte nicht wieder gelöscht, oderso?

Noch eine Beobachtung: Könntest Du, wenn eine Funktion im Menü ausgewählt wurde, als allererstes das Menü wieder ausblenden? Damit man merkt, dass das Antippen erkannt wurde? Wenn ich z.B. "Karte zum Ziel verschieben" wähle und das Ziel ist auf einer anderen Karte, dauerte es oft eine ganze Weile bis auf dem Bildschirm irgendetwas passiert. Wenn als erstes das Menü verschwinden würde, wüsste man wenigstens Bescheid. Jetzt aber ist das Ausblenden des Menüs das allerletzte was passiert, wenn die neue Karte mit dem Ziel bereits fertig angezeigt wird. Kann sein, dass das leichter gesagt als getan ist, aber es wäre eine spürbare Verbesserung.
 
OP
H

Hälmchen

Geocacher
Wutschkow schrieb:
Danke für das Update. Das Antippen klappt damit jetzt WESENTLICH besser (bislang liegt die Quote bei 100%).
Das grundlegende Problem ist aber noch nicht gelöst, denn das Verschieben-Event findet immer noch statt, jetzt nur ca. 1 Sekunde später.
Der Effekt: Alle Symbole, Menü usw. verschwinden, kurze Pause, dann verschiebt sich die Karte und dann kommt das Menü wieder.
Anscheinend wird das Event noch mal weiterverarbeitet, nachdem Du es für Dein Menü schon ausgewertet hast. Wohlgemerkt, das ganze tritt auch bei ausgeschaltetem GPS auf, liegt also nicht an einer Positionsänderung. Aber auch bei Positionsänderungen vom GPS wäre es IMHO sinnvoll, das Aktualisieren der Karte zu unterbinden, solange das Menü geöffnet ist.
Das ist natürlich blöd. Weiß auch schon an welcher Stelle ich da schauen muß. Da wird wohl ein Rückgabewert, der aussagt ob Event gehandelt wurde falsch gesetzt.

Wutschkow schrieb:
1.) Wenn man die Karte aufruft, sieht man regelmäßig nur die Karte ohne Bedienelemente. Erst wenn man das Display einmal antippt, werden die Bedienelemente angezeigt. Es passiert nicht jedes Mal, aber recht häufig. Eine Systematik konnte ich noch nicht erkennen. Mein Verdacht ist allerdings, dass es beim ersten Aufruf der Karte immer klappt, nur bei späterem erneuten Aufrufen der Karte nicht immer..
Das klingt so als würde da ein repaint fehlen. Kannst du sagen was du als letzte Aktion gemacht hast bevor die Karte geschlossen wurde? Ist das evt abhänging von aktiven/inaktiven GPS?

Wutschkow schrieb:
2.) Jedes Mal, wenn ich die Karte schließe, merkt sie sich die Position des Ziels (das blaue Kästchen mit dem "x" drin) und "pinnt" diese auf dem Display fest. Wenn ich die Karte mehrmals schließe und wieder öffne (und die Zielposition jedes Mal verschoben war), habe ich im Laufe der Zeit eine nette Sammlung von Kästchen auf dem Bildschirm, die auch nicht mehr weggehen. Wobei sie wie gesagt nicht auf der Karte festgepinnt sind, sondern auf dem Display. Also wenn ich die Karte verschiebe, bleiben sie, wo sie sind. Da werden wohl irgendwelche Imageobjekte beim Schließen der Karte nicht wieder gelöscht, oderso?.
Kann ich jetzt nix zu sagen. Werd ich versuchen mal zu reproduzieren. Sowas hab ich auf alle Fälle nicht getestet ;)

Wutschkow schrieb:
Noch eine Beobachtung: Könntest Du, wenn eine Funktion im Menü ausgewählt wurde, als allererstes das Menü wieder ausblenden? Damit man merkt, dass das Antippen erkannt wurde? Wenn ich z.B. "Karte zum Ziel verschieben" wähle und das Ziel ist auf einer anderen Karte, dauerte es oft eine ganze Weile bis auf dem Bildschirm irgendetwas passiert. Wenn als erstes das Menü verschwinden würde, wüsste man wenigstens Bescheid. Jetzt aber ist das Ausblenden des Menüs das allerletzte was passiert, wenn die neue Karte mit dem Ziel bereits fertig angezeigt wird. Kann sein, dass das leichter gesagt als getan ist, aber es wäre eine spürbare Verbesserung.
Das ist etwas komplizierter. Zur Zeit läuft das Event-Handling so ab:
Icon geklickt -> actionCommand geht an alle Listener -> diese testen ob sie den Event kennen -> wenn ja wird die Funktion abgearbeitet und als erledigt geflagt -> zuletzt wird das Flag ausgewertet und das Menu geschlossen, wenn der Event erfolgreich abgearbeitet wurde.
Eine Möglichkeit die mir einfällt ist das Menu zu schließen, den Event abzuarbeiten und im Falle einer negativen Rückmeldung das Menu wieder zu öffnen. Ist ein bisschen tricky da beim schließen des events noch andere Sachen ausgeführt werden aber sollte gehen.

Danke fürs Testen!

Gruß,
Hälmchen
 

MiK

Geoguru
Wutschkow schrieb:
2.) Jedes Mal, wenn ich die Karte schließe, merkt sie sich die Position des Ziels (das blaue Kästchen mit dem "x" drin) und "pinnt" diese auf dem Display fest. Wenn ich die Karte mehrmals schließe und wieder öffne (und die Zielposition jedes Mal verschoben war), habe ich im Laufe der Zeit eine nette Sammlung von Kästchen auf dem Bildschirm, die auch nicht mehr weggehen. Wobei sie wie gesagt nicht auf der Karte festgepinnt sind, sondern auf dem Display. Also wenn ich die Karte verschiebe, bleiben sie, wo sie sind. Da werden wohl irgendwelche Imageobjekte beim Schließen der Karte nicht wieder gelöscht, oderso?
Sowas habe ich schon in neueren Versionen ohne das neue UI beobachtet. Liegt also evtl. gar nicht an diesem Umbau. Wohl eher an den Änderungen zu den weißen Flächen oder der Anzeige aller Caches.
 

Wutschkow

Geomaster
MiK schrieb:
Sowas habe ich schon in neueren Versionen ohne das neue UI beobachtet. Liegt also evtl. gar nicht an diesem Umbau. Wohl eher an den Änderungen zu den weißen Flächen oder der Anzeige aller Caches.
Mir war es bislang nicht aufgefallen. Habe es jetzt gerade noch mal mit der alten Map ausprobiert (allerdings kein ganz frischer Build - 2360). Da konnte ich es bei einem kurzen Test nicht beobachten. Sowohl mit weiße Flächen und allen Caches als auch ohne.
Bei der MMF tritt der Effekt hingegen IMMER auf, auch hier sowohl mit weiße Flächen und allen Caches als auch ohne. Es kann natürlich trotzdem an dem anderen Code liegen und einfach irgendeine Wechselwirkung sein, durch die es jetzt vermehrt zu Tage tritt. Aber da es bei der MMF reproduzierbar auftritt, sollte es wohl mal abgeklärt werden.
 

Wutschkow

Geomaster
Hälmchen schrieb:
Das klingt so als würde da ein repaint fehlen. Kannst du sagen was du als letzte Aktion gemacht hast bevor die Karte geschlossen wurde? Ist das evt abhänging von aktiven/inaktiven GPS?
Beim Testen verschiebe ich die Karte einfach immer ein Stückchen, damit sich die blauen Kästchen schön verteilen (das andere Thema) und ich immer sehen kann, ob ein neues dazugekommen ist. Das reicht eigentlich: Karte öffnen, Karte ein Stück verschieben, Karte schließen, Karte wieder öffnen, Karte wird ohne Bedienelemente angezeigt, Karte einfach antippen, Bedienelemente erscheinen.

Ob GPS aktiv oder nicht spielt dabei keine Rolle. Und ich bleibe dabei, dass es bislang noch nie passiert es, wenn die Karte nach dem CW-Start zum ersten Mal geöffnet wurde.
 

Wutschkow

Geomaster
Ich habe heute mal mit dem "Classic"-Layout angefangen (sieht bislang ganz gut aus).
Dabei ist mir ein "Problem" aufgefallen: Wenn man in einem Element ein Symbol mit Text kombiniert, kann man den Text nicht mehr linksbündig ausrichten. Hälmchen hat das beim Standard-Layout so gelöst, dass der Text immer rechtsbündig steht. Das ist OK, aber nicht optimal. Bei "Classic"-Layout stört es im Menü auch etwas.

Mein Lösungsvorschlag: Beim Alignment sollte man zusätzlich einen Offset angeben können, um den der Text eingerückt wird. Also alignText="CL22" bedeutet, dass der Text 22 Pixel vom linken Rand entfernt beginnt. So könnte man davor ein 20 Pixel breites Icon platzieren, das vom Text nicht überschrieben werden kann.
Ich denke, das wäre eine einfachere Lösung, als wenn das Layout Icons vollautomatisch berücksichtigen müsste, und es würde einem noch mehr Kontrolle über das Layout geben. Bei der Umsetzung dürfte die Erweiterung des Parsers der größte Aufwand sein. Eventuell ist es einfacher, ein eigenes Attribut einzuführen, also z.B. offsetText="0-20" für 0 Pixel vertikale und 20 Pixel horizontale Einrückung. Der Rest ist dann ja einfach ein +x an der richtigen Stelle, oder? ;)

Ist aber eher eine Idee für die erweiterte ToDo-Liste. Es sind ja einstweilen Workarounds möglich.
Ebenfalls für die erweiterte ToDo-Liste wäre noch der Vorschlag, ein Attribut alignIcon einzuführen (oder habe ich da etwas übersehen). Auch hier, um das Layout in Zukunft noch genauer festlegen zu können.
 

Wutschkow

Geomaster
Anbei eine erste Version des "Classic Menüs" für MMT. Ich habe es jetzt erstmal nur für die PC-Version gemacht (also für den Ordner "mmcDefault"). Die anderen Varianten lassen sich daraus aber leicht ableiten.

Was noch nicht so klappt bzw. noch nicht optimal ist:

-Die Beschriftung der Menüeinträge ist rechtsbündig ausgerichtet. Linksbündig geht nicht, weil sich das mit einem Icon nicht verträgt (ich hatte dazu schon eine Lösungsidee gepostet). Man könnte das mit einem Workaround auch jetzt schon etwas umständlich lösen, aber ich lasse es erstmal so, weil eine Lösung auf Seiten der MMT eleganter wäre.

-Der Zeilenumbruch funktioniert noch nicht sehr gut. Deshalb muss das Menü viel breiter sein als eigentlich notwendig. Wenn ich es auch nur 10 Pixel schmaler mache, werden bereits die ersten Texte umgebrochen, obwohl das gar nicht nötig wäre. Da läuft noch irgendetwas im MMT-Code schief.

-Im Original wird bei den drei Menüpunkten "Höchster Detailgrad m. aktueller u. Zielpos.", "Höchster verfügbarer Detailgrad" und "Manuellen Detailgrad möglichst beibehalten" jeweils ein kleiner Punkt vor den gewählten Eintrag gesetzt, weil die sich ja gegenseitig ausschließen. Der markiert also immer den gerade gewählten Modus. Das lässt sich mit den gegenwärtigen Mitteln nicht machen. Im Prinzip sollte es mit Roles gehen, aber die müssten dann auch hart verdrahtet werden, so wie es jetzt schon ein paar sind. Oder habe ich eine Möglichkeit übersehen?

Ansonsten funktioniert es recht gut und wenn nicht das überbreite, rechtsbündige Menü wäre, würde es auf den ersten Blick kaum auffallen, dass es nicht mehr die Original-MovingMap ist, oder?
 

Anhänge

  • MMTclassic.jpg
    MMTclassic.jpg
    130,2 KB · Aufrufe: 326
  • MMTclassic.zip
    13,6 KB · Aufrufe: 10
OP
H

Hälmchen

Geocacher
Hi,
Sieht ja super aus.
Wutschkow schrieb:
Was noch nicht so klappt bzw. noch nicht optimal ist:

-Die Beschriftung der Menüeinträge ist rechtsbündig ausgerichtet. Linksbündig geht nicht, weil sich das mit einem Icon nicht verträgt (ich hatte dazu schon eine Lösungsidee gepostet). Man könnte das mit einem Workaround auch jetzt schon etwas umständlich lösen, aber ich lasse es erstmal so, weil eine Lösung auf Seiten der MMT eleganter wäre.
Das ist im Code noch nicht optimal gelöst. Ich werd mich am WE mal hinsetzen und das verbessern. Im Moment is das so gelöst das die Icons standardmäßig linksbündig sind und der Text unabhängig ob ein Icon da ist auf die komplette Fläche geschrieben wird. Da will ich noch ein paar Optionen einbauen.


Wutschkow schrieb:
-Der Zeilenumbruch funktioniert noch nicht sehr gut. Deshalb muss das Menü viel breiter sein als eigentlich notwendig. Wenn ich es auch nur 10 Pixel schmaler mache, werden bereits die ersten Texte umgebrochen, obwohl das gar nicht nötig wäre. Da läuft noch irgendetwas im MMT-Code schief.
Das schau ich mir mit an. Da weiß ich schon wo es herkommt ;) Ich hab den Schwellwert fürs Umbrechen etwas höher gewählt als notwendig um das Problem mit dem Icon zu umgehen.

Wutschkow schrieb:
-Im Original wird bei den drei Menüpunkten "Höchster Detailgrad m. aktueller u. Zielpos.", "Höchster verfügbarer Detailgrad" und "Manuellen Detailgrad möglichst beibehalten" jeweils ein kleiner Punkt vor den gewählten Eintrag gesetzt, weil die sich ja gegenseitig ausschließen. Der markiert also immer den gerade gewählten Modus. Das lässt sich mit den gegenwärtigen Mitteln nicht machen. Im Prinzip sollte es mit Roles gehen, aber die müssten dann auch hart verdrahtet werden, so wie es jetzt schon ein paar sind. Oder habe ich eine Möglichkeit übersehen?
Nein das siehst du völlig richtig. Mal sehn wie man das clever lösen kann. Denke zusätzliche Roles könnten helfen.
Wutschkow schrieb:
Ansonsten funktioniert es recht gut und wenn nicht das überbreite, rechtsbündige Menü wäre, würde es auf den ersten Blick kaum auffallen, dass es nicht mehr die Original-MovingMap ist, oder?
Ja. Kommt dem schon sehr nahe!

War das erstellen der xml mit der wenigen vorhandenen Dokumentation gut machbar oder gab es Probleme/Unklarheiten?

Gruß,
Hälmchen
 

Wutschkow

Geomaster
Hälmchen schrieb:
Im Moment is das so gelöst das die Icons standardmäßig linksbündig sind und der Text unabhängig ob ein Icon da ist auf die komplette Fläche geschrieben wird. Da will ich noch ein paar Optionen einbauen.
Mein Vorschlag ein paar Beiträge weiter oben war ja, einen Offset für das Textalignment angeben zu können, also linksbündig, aber z. B. 20 Pixel einrücken. Dann kann man den Platz für ein Icon "reservieren".

Hälmchen schrieb:
War das erstellen der xml mit der wenigen vorhandenen Dokumentation gut machbar oder gab es Probleme/Unklarheiten?
War alles machbar. Halt nur ein bißchen Fummelei, bis alles passte. :)

Manches musste ich halt durch Ausprobieren rausbekommen. So muss man immer eine Location angeben, auch wenn man für das Classic-Menü sowas nicht braucht. Da habe ich eben das Icon auch als Location angegeben. Das ist zwar etwas sinnlos, aber es funktioniert. Ohne Location wird nichts angezeigt und auf der Konsole irgendwas mit "Image Null" ausgegeben. Ich weiß nicht, ob Du daran etwas ändern willst, denn es geht ja auch so.
 

Wutschkow

Geomaster
Im NB ist die neue MovingMap noch nicht drin, ist sozusagen noch im Pre-NB-Test.

Lade Dir die "MovingMap.java" runter, die araber95 hier vor ein paar Tagen gepostet hat und ersetzt die Original-Datei durch diese. Entweder in Deiner Build-Umgebung oder in der CW-Java-Version. Die Verzeichnisse (mmc*) aus dem Patch brauchst Du dann aber auch noch (noch ein paar Beiträge weiter vorne).

Wenn Du auf Deinem Mobilgerät testen willst, musst Du CW mit der ausgetauschten Datei selbst zusammenbauen. Ansonsten kannst Du mit der Java-Version erstmal nur auf dem PC testen.
 
OP
H

Hälmchen

Geocacher
Hi,

anbei mal wieder nen Patch. Wenn den jemand ins svn bringen könnte wär das super. btw, wie is das mit den svn Schreibrechten geregelt?


Änderungen:
- man kann jetzt den Text ein Offset mitgeben um z.B. Platz für Icons zu lassen.
-ich hab Wutschkow's Änderungen für das alte Aussehen integriert und leicht angepasst (Text linksbündig)
-in den Einstellungen für die Ansicht gibts eine neue Checkbox mit der man die Fingerbedienung aktivieren kann (per default ist das aus und das alte Aussehen wird geladen)
-das Fehlen aller Icons nach Schließen und wieder Öffnen der Map sollte behoben sein

Gruß,
Hälmchen
 

Anhänge

  • mmcOldStyle.rar
    12 KB · Aufrufe: 13
  • cachewolf.patch
    59,9 KB · Aufrufe: 11

pfeffer

Geowizard
registriere Dich bei berliOS und teile mir, MiK oder araber95 Deinen Nutzernamen dort mit. Einer schaltet Dich dann zum Schreiben frei. Beachte: von der Freischaltung bis Du die Schreibrechte nutzen kannst, kann es mehr als 3 Stunden dauern.

Gruß,
Pfeffer.
 

maierkurt

Geowizard
Was mache ich falsch?
Eclipse meckert bei mir über die MovingMapControlItem.java in Zeile 192 Version 2477
Code:
if (thisElement.booleanValue() != overallElement.getState().booleanValue()){
				return false;
			}
Code:
Cannot invoke booleanValue() on the primitive type boolean	MovingMapControlItem.java	/Cachewolf/src/navi/touchControls	line 192	Java Problem

Gruß, maierkurt
 

ggcode

Geocacher
Hallo,
falls du die MM testen willst:

1. lade Dir unter http://cachewolf.de.ms/ diejenige mit der höchsten Nummer und passend zu Deinem Betriebssyste und Prozessor herunter
in Revision 2493/2094 ist die MM implementiert.

Was mir aufgefallen ist bei dieser Version:
1. in der MM wird die Windowszeile nicht ausgeblendet.
2. Beim Menue aus/einblenden verschwindet die komplette MM und man sieht den Kompass, dann wieder die MM.

Gruß ggcode
 

pfeffer

Geowizard
Bei mir ist thisElement als Boolean in Zeile 185 definiert, nicht als primitve boolean.
Hast Du irgendwas geändert? Diese Date ist bei mir auch r2477.

Gruß,
Pfeffer.
 

ggcode

Geocacher
Hallo,
MM in Revision 2493(PPC2003):
"Karte mit höchstem verfügbarem Detailgrad" und "Höchster Detailgrad mit aktueler und Ziel Position" funktioniert auch nicht mehr.

Gruß ggcode
 

Wutschkow

Geomaster
ggcode schrieb:
MM in Revision 2493(PPC2003):
"Karte mit höchstem verfügbarem Detailgrad" und "Höchster Detailgrad mit aktueler und Ziel Position" funktioniert auch nicht mehr.
Kannst Du bitte etwas spezifischer sein?
Welche Variante (klassisches Menü oder Touch) benutzt Du?
Was genau funktioniert wie nicht mehr? Sind die Funktionen nicht da? Kann man sie nicht anwählen? Oder kann man sie anwählen aber sie bewirken nichts?

Ich kann das bei mir so nicht nachvollziehen. Übrigens auch nicht die beiden Punkte, die Du ein paar Posts vorher erwähnt hast. Das soll aber nichts heißen, außer dass ich es eben bei mir nicht nachvollziehen kann. :???:

Vielleicht schreibst Du auch mal Hardware und Windows-Version dazu. Eventuell ergeben sich da irgendwelche Muster.
 
Oben