Schrift
[thread]5204[/thread]

HList columnWidth: etwas wie width="100%" in HTML (Seite 2)

Leser: 2


<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten
ptk
 2006-06-07 09:49
#45637 #45637
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Beim Screenshot kann man tatsächlich nichts erkennen. Vielleicht mal als PNG statt JPEG abspeichern?

Zum Problem: ich glaube, du solltest ein bisschen mit der globalen und den Item-spezifischen Hintergrundfarben experimentieren. Die globale setzt man mit $hlist->configure(-bg => ...), bei den itemspezisischen hilft ein Blick in die Tk::DItem-Dokumentation.
styx-cc
 2006-06-07 14:20
#45638 #45638
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hier erstmal ein neuerer Screenshot.

In diesem Bild ist die Breite mit columnWidth gesetzt, allerdings bleibt es dabei, das sich beim resizen die Breite nicht automatisch anpasst.


Quote
(ptk) Zum Problem: ich glaube, du solltest ein bisschen mit der globalen und den Item-spezifischen Hintergrundfarben experimentieren. Die globale setzt man mit $hlist->configure(-bg => ...), bei den itemspezisischen hilft ein Blick in die Tk::DItem-Dokumentation.


Habs mir noch nciht angeschaut, werds aber heute Nachmittag mal machen.
Bis dahin, vielen Dank

MfG
Pörl.
ptk
 2006-06-07 22:33
#45639 #45639
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Interessant, die Hintergrundfarbe ist ja alternierend! Wie hast du das geschafft?
styx-cc
 2006-06-07 23:11
#45640 #45640
User since
2006-05-20
533 Artikel
BenutzerIn

user image
[quote=ptk,07.June.2006, 20:33]Interessant, die Hintergrundfarbe ist ja alternierend! Wie hast du das geschafft?[/quote]
So:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sub show_box_content {
$shelf_content -> deleteAll;
my @content = &get_box_content($_[0]);
my $i = 0;

#styles for the single rows
my $greyStyle = $shelf_content -> ItemStyle('text', -background => 'lightgrey', -font => 'Arial 8 bold', -foreground => 'black');
my $defaultStyle = $shelf_content -> ItemStyle('text', -font => 'Arial 8 bold', -foreground => 'black');
#give a value for shelf-hlist
for (@content) {
#print "Boxdate: $content[$i][0]\nBoxname: $content[$i][1]\nBoxdescribe: $content[$i][2]\n";
$shelf_content -> add($i, -data => $content[$i][2]);
$shelf_content -> itemCreate($i, 0, -text => $content[$i][0], -style => ($i % 2) ? $defaultStyle : $greyStyle);
$shelf_content -> itemCreate($i, 1, -text => $content[$i][1], -style => ($i % 2) ? $defaultStyle : $greyStyle);

$i++;
}
} #show_box_content


:-)

Hab mich jetzt ma durch einige Docus gehauen, ich finde keine passenden Optionen, ich schaffs ja nciht mal die aktuelle breite der HList auszulesen, dann koennte man ja die benoetigte Breite errechnen, da die Breite fuer die erste Zelle ja feststeht.

MfG\n\n

<!--EDIT|styx-cc|1149707802-->
Pörl.
ptk
 2006-06-08 00:08
#45641 #45641
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich versteh's noch immer nicht: du möchtest, dass die Hintergrundfarbe über die gesamte HList geht, aber laut Screenshot sieht es bereits richtig aus?!
styx-cc
 2006-06-08 00:19
#45642 #45642
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Jo, in dem Screenshot is die Breite auch mit:
$shelf_content -> columnWidth(1,445);
gesetzt, allerdings hauts ja nicht mehr hin, wenn man das Hauptfenster in der Groesse veraendert..

MfG

ps.: im Screenshot kann man das Hauptfenster nicht resizen, allerdings sollte es prinzipiell eigentl. moeglich sein..
Pörl.
ptk
 2006-06-08 00:37
#45643 #45643
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ach so. Ich sehe keine Optionen in Tk::ItemStyle, die dir helfen könnten (etwas a la -fill). Aber du könntest feststellen, dass ein Resize stattgefunden hat (mit dem <Configure>-Event) und dann die Breite des HLists auslesen (mit $hlist->width oder so). Gewöhnlich muss man noch mit einigen Border-Angaben (-border, -highlightthickness etc.) hantieren, damit die Angabe exakt wird.
styx-cc
 2006-06-08 00:48
#45644 #45644
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hoert sich spassig an ;-)

Werd mich morgen mal dran setzen, wenn ich ne Loesung gefunden habe, poste ich sie natuerlich..

Mfg und vielen Dank

EDIT:
Code: (dl )
1
2
3
4
5
6
my $hlist = $main -> HList(-sizecmd => sub{&resize});
...

sub resize {
...
}


Bei der HList scheint eine Option vorhanden zu sein, um veraenderungen der Groesse "abzufangen", fehlt nur noch ne Option zum abfragen der Breite..\n\n

<!--EDIT|styx-cc|1149718195-->
Pörl.
renee
 2006-06-08 12:13
#45645 #45645
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
my $hlist = $main -> HList(-sizecmd => [\&resize,$hlist]);

sub resize {
my ($hlist) = @_;
print $hlist->width();
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2006-06-09 00:12
#45646 #45646
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Sieh an, auch was gelernt. <Configure> könnte aber für andere Widgets, die -sizecmd nicht kennen, nützlich sein.
<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten



View all threads created 2006-06-06 18:12.