TabBarGadget - Tabs wie im Browser

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: TabBarGadget - Tabs wie im Browser

Beitrag von NicTheQuick »

Selbiges hier:
------
4294967294
4294967294
4294967294
4294967295
0
0
0
1
2
2
2
------
-2
-2
-2
-1
0
0
0
1
2
2
2
------
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von RSBasic »

Ich möchte nochmal dazu sagen, dass ich deine Include-Datei sehr gut finde. Hab damit jetzt intensiver gearbeitet. Funktioniert einwandfrei und die Funktionen sind gut durchdacht. Und die Dokumentation finde ich ebenfalls gut. Danke nochmal für deine Arbeit.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

Danke auch auch Testern und vielleicht auch Nutzern.

Das ich das Gadget selbst schon aktiv in einem Projekt nutze, werde ich auch immer wieder Sachen hinzufügen und verbessern.
Aktuelle Pläne:
  • Angesprochene Sachen von NicTheQuick verbessern (deaktivierte Tabs bewegen, Navigation verbessern)
  • #TabBarGadget_Vertical: Leiste ist vertikal und Text halt um 90° gedreht
  • was ich schon früher machen wollte #TabBarGadget_MultiLine: Das Gadget wird automatisch vergrößert und es werden bei vielen Tabs mehrere Zeilen genutzt.
  • Was ich selbst gerade brauche: TabBarGadgetItemToolTip() zum ändern des ToolTips je Tab
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Vaska Hulja
Beiträge: 5
Registriert: 09.09.2010 20:57

Re: TabBarGadget - Tabs wie im Browser

Beitrag von Vaska Hulja »

Tolle Leistung!! Sieht echt chic aus und ist gut durchdacht. :D
Er richtete die Zwillingskanone seiner Nasenlöcher auf mich und feuerte eine schnaubende Breitseite ab, die das Ende der eben erst begonnenen Konversation signalisierte.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: TabBarGadget - Tabs wie im Browser

Beitrag von Lambda »

Das Gadget ist dir sehr gut gelungen! Gerade das Vertikal-Feature wäre noch wichtig. Wenn du die genannten Features umsetzt ist es nahezu perfekt. Nutze das Gadget öfters! :allright:

Ein Tipp wäre noch Multi-Selektion durch die Shift-Taste. (wie in Cinema4D z.B) Dann können mehrere Seiten z.B gleichzeitig angezeigt werden.

Ein weiterer eine "Bottom-Line" bei der das aktuelle Item keine Linie hat.
seschi
Beiträge: 4
Registriert: 21.04.2012 13:29

Re: TabBarGadget - Tabs wie im Browser

Beitrag von seschi »

@STARGÅTE

Dein TabBarGadget finde ich einfach klasse! Das Anwenden von TabBarGadget ist auch als Anfänger geradezu spielerisch.
Dafür sorgt natürlich auch die hervorragenden Hilfe.

Gerade aber stehe ich vor einem Problem: ich möchte die Schriftgröße ändern, was ich nicht hinkriege. TabBarGadget bietet
keine Möglichkeit für das Ändern an und mit den normalen LoadFont und SetGadgetFont schaffe ich es nicht oder sehe ich jetzt
den Wald vor lauter Bäume nicht?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

Noch gibt es keinen Befehl, die Font für einzelne Tabs zu ändern, auch nicht "um zwei ecken".
Du kannst nur für das TabBarGadget komplett (mit allen Tabs) die Font ändern, indem du im Include oben (Zeile ~150):

Code: Alles auswählen

Global TabBarGadgetInclude.TabBarGadgetInclude

With TabBarGadgetInclude
	CompilerSelect #PB_Compiler_OS
		CompilerCase #PB_OS_Windows
			\ShadowColor   = $FF<<24 | GetSysColor_(#COLOR_3DSHADOW)
			\FaceColor     = $FF<<24 | GetSysColor_(#COLOR_3DFACE)
			\LightColor    = $FF<<24 | GetSysColor_(#COLOR_3DHIGHLIGHT)
			\TextColor     = $FF<<24 | GetSysColor_(#COLOR_BTNTEXT)
			\FontID        = GetGadgetFont(#PB_Default)
		CompilerDefault
			\ShadowColor   = $FF808080
			\FaceColor     = $FFD0D0D0
			\LightColor    = $FFFFFFFF
			\TextColor     = $FF000000
			\FontID        = FontID(LoadFont(#PB_Any, "Arial", 8))
	CompilerEndSelect
	\Padding      = 6  ; Space from tab border to text
	\Margin       = 4  ; Space from tab to border
	\ImageSpace   = 3  ; Space from image zu text
	\CrossSize    = 7  ; Size of the close cross
	\ArrowWidth   = 10 ; Width of the Arrow-Button in navigation
	\ArrowHeight  = 16 ; Height of the Arrow-Button in navigation
	\Radius       = 7  ; Radius of the edge of the tab
	\FadeOut      = 32 ; Length of fade out to the navi
EndWith
für die \FontID eine Font einlädts:

Code: Alles auswählen

\FontID        = FontID(LoadFont(#PB_Any, Schriftname, Größe))
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: TabBarGadget - Tabs wie im Browser

Beitrag von Josh »

Hallo Stargate,

super sache dein TabBarGadget. Kann ich wirklich gut gebrauchen. Einen kleinen Fehler habe ich jedoch noch entdeckt. Den kannst du in deinem Beispiel leicht reproduzieren:

Wenn du das Fenster eng zusammenschiebst und dann mit dem Mausrad zum letzten Tab scrollst, dann schmiert das ganze ab. Dazu müsste in deinem Code die Zeile 701 wie folgt geändert werden:

Code: Alles auswählen

von:
ElseIf GetGadgetAttribute(\Number, #PB_Canvas_WheelDelta) > 0
auf:
ElseIf GetGadgetAttribute(\Number, #PB_Canvas_WheelDelta) > 0 And \Shift <  ListSize (\Item())
P.S.: Nach meinem Gefühl läuft die Scrollrichtung mit dem Mausrad in deinem Gadget verkehrt. Wenn ich in einem Editor nach oben scrolle, dann komme ich von Zeile X zu Zeile 1. Folglich sollte ich dann beim scrollen nach oben auch von Tab X nach Tab 1 kommen. Ich habs bei mir in den Zeilen 699 und 701 umgedreht.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

Konnte den Bug reproduzieren, passiert immer dann, wenn nicht mal ein Tab vollständig dargestellt werden kann.
Werde ich mit dem nächsten Updaten fixen.

Wegen der Scrollrichtung: Ist wohl wirklich subjektiv.

Wenn ich im SpinGadget nach oben scrolle, wird die Zahl ja auch größer.
Und so hab ich das dann auch angelegt, hoch = höhere Tabs.

Aber genau wegen sowas ist es ja ein offenes Include und keine UserLib, so kann jeder individuelle Anpassungen vornehmen ohne das es dafür n Flag geben muss.
Ich kann aber gerne noch n Konstante anlegen, die man im Kopf definieren kann, zB #TabBarGadget_ScrollDirection = 1 oder -1
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: TabBarGadget - Tabs wie im Browser

Beitrag von Josh »

Hi Stargate,

ich habe da noch einen kleinen Fehler gefunden. Du hast ja die Buttons umgestellt, dass sie auf LButtonUp reagieren, was ja auch richtig ist. Aber die Befehle dürfen nur ausgeführt werden, wenn sich die Maus zum Zeitpunkt von LButtonUp über dem gleichen Punkt (oder zumindest über dem gleichen Button) befindet wie zum Zeitpunkt von LButtonDown.

lg
Josh
Antworten