Ankündigung

Einklappen
Keine Ankündigung bisher.

Switch mit Untermenü?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Switch mit Untermenü?

    Hi,

    gibt es eigentlich die Möglichkeit, einen Switch-Item mit Untermenüs zu definieren? Folgendes Beispiel bringt die Sitemap / ClassicUI durcheinander:
    Code:
    Switch item=Present label="Anwesend" {
      Chart item=Present period=W
    }
    Das wäre schön z.B. für einen Verstärker: Einschalten, Quellenwahl & Lautstärke im Untermenü.

    Danke & Grüße
    Sascha

    #2
    Hi,

    ich habe mal ein wenig den Grund untersucht und folgendes bemerkt:

    Dass es bei Text-Widgets funktioniert, macht scheinbar folgender Codeschnipsel (in bundles/ui/org.openhab.ui.webapp/src/main/java/org/openhab/ui/webapp/internal/render/TextRenderer.java):
    Code:
    String snippet = (text.getChildren().size() > 0) ? 
                            getSnippet("text_link") : getSnippet("text");
    Dem SwitchRenderer.java fehlt so ein Absatz leider - hier wird "nur" unterschieden, ob ein Rollershutter- oder ein Switch-Item vorliegt.

    Sehe ich es richtig, dass hier die richtige Stelle zum Amsetzen ist?
    Wenn ja, würde ich mich mal dran probieren

    Grüße

    Kommentar


      #3
      Rein technisch ist das im Classic UI der Unterschied, vom Sitemap-Modell her ist aber das wesentliche: Text ist ein "LinkableWidget", so wie auch Frame, Group und Image. D.h. all diesen ist es möglich, auf eine andere Seite zu verlinken. Für die restlichen Widgets gilt das nicht - weil es dort nicht allgemein sinnvoll ist. Schau Dir z.B. Deine iPhone Einstellungen an; Du wirst hier nirgends einen Switch finden, der auf ein Untermenü verlinkt - ein Switch hat eben schon sein eigenes Verhalten und es wäre schwer, in jedem UI es sinnvoll unterzubekommen, dass man "irgendwo anders" auf dem Widget klicken muss, damit man navigiert statt schaltet.

      Viele Grüße,
      Kai

      Kommentar


        #4
        Zitat von kkreuzer Beitrag anzeigen
        Rein technisch ist das im Classic UI der Unterschied, vom Sitemap-Modell her ist aber das wesentliche: Text ist ein "LinkableWidget", so wie auch Frame, Group und Image. D.h. all diesen ist es möglich, auf eine andere Seite zu verlinken. Für die restlichen Widgets gilt das nicht - weil es dort nicht allgemein sinnvoll ist.
        Danke für die ausführliche Erläuterung


        Zitat von kkreuzer Beitrag anzeigen
        Schau Dir z.B. Deine iPhone Einstellungen...
        Wahrscheinlich komme nur ich Android-User auf solche Ideen

        Aber wo wir gerade beim Thema sind:
        Was sind denn die groben Schritte ein Widget zu implementieren? Welches Widget eignet sich am Besten als Template?

        Danke,
        Sascha

        Kommentar


          #5
          Zitat von kuschelganxta Beitrag anzeigen
          Was sind denn die groben Schritte ein Widget zu implementieren? Welches Widget eignet sich am Besten als Template
          Das Beste ist es eigentlich, es sein zu lassen... Leider gibt es kein wirkliches Erweiterungskonzept in openHAB bzgl. Widgets. Das ist insbesondere der Tatsache geschuldet, dass ich verhindern wollte, dass eine Sitemap nur auf einem UI, aber nicht auf anderen nutzbar ist; und ein neues Widget heißt immer, dass alle UIs angepasst werden müssen, was sehr schwierig in der Praxis ist...

          Grüße,
          Kai

          Kommentar


            #6
            Zitat von kkreuzer Beitrag anzeigen
            Schau Dir z.B. Deine iPhone Einstellungen an; Du wirst hier nirgends einen Switch finden, der auf ein Untermenü verlinkt - ein Switch hat eben schon sein eigenes Verhalten und es wäre schwer, in jedem UI es sinnvoll unterzubekommen, dass man "irgendwo anders" auf dem Widget klicken muss, damit man navigiert statt schaltet.

            Viele Grüße,
            Kai


            Da klingt aber der iOS User durch
            Bei einem modernen Android (>= 4.0) ist es mit voller Absicht genau anders herum gelöst. Es gibt "Sektions Schlater" die eine Funktion (samt ihrer Unterfunktionen) deaktiviert. Die Unterfunktionen sind dann in der Regel nur aufrufbar wenn die Funktion aktiviert ist.
            Ein Beispiel vom Stock Android (also nicht irgend einer Hersteller-Anpassung):
            Unter Einstellungen gibt es die Punkte WLAN und Bluetooth direkt auf der obersten Ebene.



            Diese bieten einem direkt die Möglichkeit die Funktion AN bzw. AUS zu schalten. Klickt man jedoch nicht auf die kleine Schaltflächen bzw. Schieber sonder auf den Rest der Zeile gelangt man in die jeweilige Sektion.



            Das spart die Notwendigkeit entweder zwei Einträge für eine Funktion zu haben (z.B. WLAN AN/AUS und WLAN Settings) oder einen Klick mehr da man zunächst in eine Untersektion wechseln muss (um z.B. WLAN AN/AUS zu finden).

            Ganz so einfach ist die Aussage also nicht... zumal gerade iOS < 7 in einigen UI relevanten Punkten immer öfter als renovierungsbedürftig bezeichnet wird

            Kommentar


              #7
              Da klingt aber der iOS User durch
              Falsch, ich bin Android User!

              Worum es mir ging ist, dass die Sitemaps eine Struktur definieren sollen, die auf möglichst vielen verschiedenen UIs sinnvoll abzubilden ist, also ein kleinster gemeinsamer Nenner sozusagen.

              Grüße,
              Kai

              Kommentar

              Lädt...
              X