Schrift
[thread]5053[/thread]

Entry & Scale via -textvariable: Problem... (Seite 2)



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
pktm
 2005-08-16 00:31
#44359 #44359
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        $gui{'QualitaetEntry'} = $gui{'QualitatFrame'}->NumEntry( 
-minvalue => 0,
-maxvalue => 100,
-readonly => 1,
-textvariable => \$thumbnailQuality,
-width => 3,
);
$gui{'QualitaetEntry'}->configure(
-browsecmd => sub{

$self->__setScale(

-scale => $gui{'QualitaetSkala'},

-quality => $thumbnailQuality,

);
},
);

$gui{'QualitaetSkala'} = $gui{'QualitatFrame'}->Scale(
-from => 0,
-to &nb
sp; => 100,
-variable &nb
sp; => $thumbnailQuality,
-sliderlength => 6,
-orient => 'horizontal',
-length &nbsp
; => 100,
-showvalue => 0,
-bg => 'yellow',
-activebackground => 'blue',
-border => 0,
);
$gui{'QualitaetSkala'}->configure(
-command => sub{ $thumbnailQuality = $gui{'QualitaetSkala'}->get(); },
);


Publiziert habe ich die Neuerungen aber noch nicht. Ich möchte zuerst noch versuchen dem Benutzer die Möglichkeit der Verzeichnisbearbeitung (md, rd, rename) beim Auswahldialog des Zeilverzeichnissen zu geben.

Ich spiele da ein bischen mit dem Gedanken das ganze in Wx zu machen, da es da sowas schon gibt.
http://www.intergastro-service.de (mein erstes CMS :) )
ptk
 2005-08-16 15:44
#44360 #44360
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=pktm,15.08.2005, 22:20]Nun, wie gesagt, ich habe ein NumEntry im readonly-Modus, dafür aber mit Inc- und Decrementbuttons benutzt. Bei der Benutzung der Buttons (-browsecmd) wird die Scale per Methode angepasst und bei bewegung der Scale wird per Methode das NumEntry angepasst.
Aber ich finde es einfach schöner, wenn man die Zahl eingeben kann, immerhin sind manche Menschen sowas auch von professionellen Grafikprogrammen gewöhnt...[/quote]
Da gibt es aber ein konzeptionelles Problem: was passiert, wenn der Benutzer die Zahl im Entry loescht, damit er eine komplett neue Zahl eingeben kann? In diesem Fall waere fuer eine kurze Zeit der Wert im NumEntry ein leerer String und damit haette Scale ein Problem. Es wuerde auch lustig aussehen, wenn der Benutzer eine grosse mehrstellige Zahl eingibt und der Scale mit jeder Ziffer einen grossen Satz nach vorne macht...
Crian
 2005-08-16 18:31
#44361 #44361
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Das kannst Du wiederum verhindern, wenn Du die Auswertung erst soundsoviel Millisekunden nach der letzten Eingabe vornimmst. Sowas hab ich mal (für einen anderen Zweck) gebaut, bei Interesse nachfragen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pktm
 2005-08-16 20:16
#44362 #44362
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=ptk,16.08.2005, 13:44][quote=pktm,15.08.2005, 22:20]Nun, wie gesagt, ich habe ein NumEntry im readonly-Modus, dafür aber mit Inc- und Decrementbuttons benutzt. Bei der Benutzung der Buttons (-browsecmd) wird die Scale per Methode angepasst und bei bewegung der Scale wird per Methode das NumEntry angepasst.
Aber ich finde es einfach schöner, wenn man die Zahl eingeben kann, immerhin sind manche Menschen sowas auch von professionellen Grafikprogrammen gewöhnt...[/quote]
Da gibt es aber ein konzeptionelles Problem: was passiert, wenn der Benutzer die Zahl im Entry loescht, damit er eine komplett neue Zahl eingeben kann? In diesem Fall waere fuer eine kurze Zeit der Wert im NumEntry ein leerer String und damit haette Scale ein Problem. Es wuerde auch lustig aussehen, wenn der Benutzer eine grosse mehrstellige Zahl eingibt und der Scale mit jeder Ziffer einen grossen Satz nach vorne macht...[/quote]
Der Benutzer kann keine Werte eingeben, das ist ja das, was mir nicht gefällt.
Er kann den Wert nur über die Buttons (inc & dec) ändern.
Zudem habe ich das NumEntry mittels -from & -to aus 0 bis 100 begrenzt. Ein leeres Feld gibt es daher nicht.

Aber wenn man das manuelle Editieren zulassen würde könnte man in den Callbacks (theoretisch...) abfangen, ob das Feld leer ist, der Wert zu groß oder zu klein ist und nur die gültigen Zeichen enthält.

Aber das funktionierte mit meinem Kenntnisstand noch nciht so ganz... :-)
http://www.intergastro-service.de (mein erstes CMS :) )
ptk
 2005-08-16 21:34
#44363 #44363
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Was ich meinte ist: wenn z.B. nur Zahlen zwischen 1000 und 10000 zugelassen sind, im Entry 1000 steht und der User 9999 eingeben will, was macht er da? Er muss zunaechst alles loeschen, und dann die Ziffern eingeben, so dass nacheinander 9, 99, 999 (alles illegal) und schliesslich 9999 steht. Letzendlich kann man die Eingabe erst validieren, wenn der User auf Return oder einen Button zum Abschliessen klickt. Wie sich ein Scale waehrend dieser Eingabe verhalten soll, ist auch interessant: bleibt er die ganze Zeit bei 1000? Wird er disabled, bis der Wert wieder sinnvoll ist?
pktm
 2005-08-16 22:37
#44364 #44364
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, ich würde das Entry bei einer leeren Eingabe auf 0 setzen. Die Scale dann auch.
Aber dann kann der Benutzer keine 9 mehr eingeben....
Ich denke, die Validation müsste bei verlassen des Fokus des Entrys stattfinden und wie du vorgeschlagen hast die Scale solange einfach nicht beachten. Einfrieren, muss das dann noch sein?
http://www.intergastro-service.de (mein erstes CMS :) )
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-08-12 05:16.