[FUIP - gelöst] Größere Icons / Switches ?

Begonnen von edisondau, 14 August 2022, 19:08:45

Vorheriges Thema - Nächstes Thema

edisondau

Hi,
habt ihr evtl einen Tipp für mich, wie ich die Oberfläche "fitt für dicke Finger" machen kann?

Konkrete Frage: Die Icons wie SimpleSwitch usw. sind teilweise auf dem Tablet doch etwas mickrig, kann ich hier irgendwie die Größe beeinflussen?

Die Typen wie die 7SegmentReading haben ja das Attribut sizing resizable. Ich habe auch mal die zur Verfügung stehenden Typen angeschaut, was man hier "zweckentfremden" könnte, aber so wirklich etwas dabei ist da nicht.

Grüße
Edi

edisondau

#1
ok, obwohl ich keinen blassen schimmer was ich hier tue.... ich habe jetzt das SimpleSwitch.pm kopiert und ein SimpleSwitchVar.pm erstellt und dort die css Klassen die mir vom FTUI noch bekannt waren/ergoogled wurden eingebastelt.

Das hilft mir vorerst mal weiter, da so durch die Auswahl "big" schon bedienbarer sind. Jedoch sollte jetzt noch das dimensions angepasst werden, hier bin ich aktuell etwas planlos wie ich am besten vorgehen soll.

Anbei meine Version des SimpleSwitchVar, von mir gemachte Änderungen sind mit #CSS markiert.

package FUIP::View::SimpleSwitchVar;

use strict;
use warnings;
    use lib::FUIP::View;
        use parent -norequire, 'FUIP::View';


        sub getHTML($){
                my ($self) = @_;
                my $result =
                        '<table cellpadding="0" width="100%">
                                <tr><td>
                                        <div data-type="switch"
                                         #CSS aufgenommen
                                         class="'.$self->{css}.'"
                                         data-device="'.$self->{device}.'"
                                         data-icon="'.$self->{icon}.'"';
                if($self->{set}) {
                        $result .= '
                                                data-set="'.$self->{set}.'"';
                };
                if($self->{reading}) {
                        $result .= '
                                                data-get="'.$self->{reading}.'"';
                };
                $result .= '
                                                data-get-on="on.*|ON.*|[1-9][0-9]*"
                                                data-get-off="off|OFF|0"
                                                data-set-on="on"
                                                data-set-off="off">
                                        </div>
                                </td></tr>';
                $result .= '<tr><td class="fuip-color">'.$self->{label}.'</td></tr>' if($self->{label});
                $result .= '</table>';
        };


sub dimensions($;$$){
        my $self = shift;
        return (70, ($self->{label} ? 78 : 56));
};


sub getStructure($) {
        # class method
        # returns general structure of the view without instance values
        my ($class) = @_;
        return [
                { id => "class", type => "class", value => $class },
                #CSS selektierbar gemacht
                { id => "css", type => "css", options => [ "wider", "w1x","w2x","w3x","large","big", "notransmit" ],
                        default => { type => "const", value => "w1x" } },
                { id => "device", type => "device" },
                { id => "title", type => "text", default => { type => "field", value => "device"} },
                { id => "label", type => "text", default => { type => "field", value => "title"} },
                { id => "set", type => "set", refdevice => "device", default => { type => "const", value => "" } },
                { id => "reading", type => "reading", refdevice => "device", default => { type => "field", value => "set"}},
                { id => "icon", type => "icon", default => { type => "const", value => "fa-lightbulb-o" } }
                ];
};


# register me as selectable
#CSS angepasst damit auswaehlbar
$FUIP::View::selectableViews{"FUIP::View::SimpleSwitchVar"}{title} = "Simple Switch mit Class";

1;




Thorsten Pferdekaemper

Hi,
ich habe mir das mal näher angeschaut, aber dummerweise kann das darunterliegende FTUI-Widget kein richtiges Resizing. Vielleicht bekomme ich die Tage noch was hin.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
mach mal ein Update. SimpleSwitch hat jetzt das "übliche" Sizing. D.h. man kann "resizable" einstellen und das Teil beliebig groß machen.
Falls man das Label verwendet (also das Feld "label" im SimpleSwitch), dann passt sich das Label allerdings nicht an. Das war mehr oder weniger Absicht. Ein größeres Label dürfte man auch so relativ einfach hinbekommen.
Gruß,
   Thorsten
FUIP

edisondau

Hi,
Vielen Dank dir schon mal. Ich werde es spästens am Wochenende testen und gebe dann Rückmeldung. Wenn es klappt wäre es ja super.

Danke schön mal und grüße

edisondau

So, hat zu sehr in den Fingern gejuckt  :) also das Attribut funktioniert super.
Vielen Dank für das schnelle umsetzen.
Danke und Grüße
Edi
P.s. Ich setzte somit den Titel auf gelöst