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
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

Ne leider nicht.
Ich bin zwar gerade dabei einige Funktionen hinzuzufügen und zu verbessern,
aber die Version ist gerade so zerhackt, dass ich nicht mal schnell n Update rausschieben kann.

Du musst also erst mal noch die aktuelle Version nutzen.
Ich kann leider auch nicht sagen, wann die nächste kommt.
Vielleicht in ein bis zwei Wochen.
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
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: TabBarGadget - Tabs wie im Browser

Beitrag von PMV »

Nicht schlimm, funktioniert ja auch so. Ich will eh nicht sooo viel mehr
daran machen und es geht ja primär um Awesomium und nicht um die
TabBar. :lol: Ich werd im laufe der Woche das nächste Update ver-
öffentlichen und wenn du magst könntest dann natürlich das Beispiel
mit den neuen Features erweitern so weit sinnvoll. Ich würd das dann
auch im Awesomium-Beispiel updaten. :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

Tachchen,

Hiermit möchte ich euch das nächste große Update für das TabBarGadget vorstellen.
Es ist viel dazugekommen und es hat sich auch einiges verändert, wovon ich nun einige Sachen auflisten möchte:

Update 1.2 (1. März 2011)
  • Ausführliche Hilfe als *.chm und online
  • Mehr Prozeduren wie SetTabBarGadgetAttribute(), SetTabBarGadgetItemColor(), DisableTabBarGadgetItem(),
  • Ein paar neue Attribute: NoTabMoving, MirroredTabs, TabRounding
  • Verbesserungen in der Darstellung von Verschiebung und Navigation
Include: TabBarGadget.pbi (Version 1.2.0)
Online Version der Hilfe: Das Registerkartenleisten-Gadget
Zip-Archiv: TabBarGadget.zip (Include, Beispiel und Hilfe)

Hier noch einige Screenshots:
Bild Registerkarten deaktivieren
Bild gespiegelte Registerkarten "nach oben"
Bild Registerkartenfarben ändern
Bild Navigation: "seitlich ausgeblendete" Karten
Zuletzt geändert von STARGÅTE am 18.12.2012 03:17, insgesamt 1-mal geändert.
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
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von NicTheQuick »

Ich hätte ein paar Bugs zu melden.

Wenn ich auf einen Links- oder Rechtspfeil klicke, dann passiert solange nichts bis ich wieder die Maus bewege. Vorher werden die Tabs nicht gescrollt. Wenn ich ein zweites Mal klicke, dann verschiebt sich die Leiste zwar, aber wenn ich dann die Maus bewege, verschiebt sie sich das zweite Mal. Also irgendwie wird ein Event zu spät auf das Klicken der Pfeiltasten links und rechts reagiert.

Ist es beabsichtigt, dass man den deaktivieren Tab auch nicht verschieben kann? Dass man ihn nicht anklicken kann, ist logisch, aber ich glaube es wäre wünschenswert, wenn man ihn trotz Deaktivierung verschieben könnte.

Noch ein Versserungsvorschlag: Im Firefox kann man durch einen Doppelklick auf die Pfeile links und rechts gleich mehrere Tabs weiter scrollen lassen. Wenn man besonders viele Tabs offen hat, ist das recht praktisch. ich nutze das mangels Scrollrad am Laptop ziemlich oft. Denn normalerweise kann man ja auch mit dem Scrollrad die Tableiste weiterscrollen lassen.

Und noch ein kleiner Hinweis zu deinem Beispielcode: Leider sind die Textfelder unter Ubuntu etwas abgeschnitten.

Aber ansonsten top Arbeit. Find ich gut. Ich brauch's zwar nicht, aber auf Grund eines Hauchs von Langeweile hab ich das jetzt doch mal getestet. :wink:
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

NicTheQuick hat geschrieben:Wenn ich auf einen Links- oder Rechtspfeil klicke, dann passiert solange nichts bis ich wieder die Maus bewege. Vorher werden die Tabs nicht gescrollt. Wenn ich ein zweites Mal klicke, dann verschiebt sich die Leiste zwar, aber wenn ich dann die Maus bewege, verschiebt sie sich das zweite Mal. Also irgendwie wird ein Event zu spät auf das Klicken der Pfeiltasten links und rechts reagiert.
Kann ich leider nicht reproduzieren.
Fest steht, diese Pfeile sind keine Druck-Schalter (weil ich dazu ein Callback machen müsste) sonden nur Klick-Schalter. Dass heißt, es passiert erst beim loslassen etwas, nämlich das genau ein Tab verschoben wird.
Das es erst beim Loslassen (statt beim ersten Down) passiert wurde mehrfach gewünscht.
NicTheQuick hat geschrieben:Ist es beabsichtigt, dass man den deaktivieren Tab auch nicht verschieben kann? Dass man ihn nicht anklicken kann, ist logisch, aber ich glaube es wäre wünschenswert, wenn man ihn trotz Deaktivierung verschieben könnte.
Ja es ist beabsichtigt, ich kann es aber gerne ändern, obwohl ich es eigentlich absichtlich verhindern wollte.
NicTheQuick hat geschrieben:Noch ein Versserungsvorschlag: Im Firefox kann man durch einen Doppelklick auf die Pfeile links und rechts gleich mehrere Tabs weiter scrollen lassen. Wenn man besonders viele Tabs offen hat, ist das recht praktisch. ich nutze das mangels Scrollrad am Laptop ziemlich oft. Denn normalerweise kann man ja auch mit dem Scrollrad die Tableiste weiterscrollen lassen.
Wollte es gerade sagen, ScrollRad wird ja unterstützt. Das Problem ist ja wirklich, dass die Tabs nicht "fließend" Scrollen können, wenn es kein Event gibt, und ein Windows-Callback will ich nicht einbauen, damit es auch weiterhin Plattform-Übergreifend bleibt.
Ich kann aber noch ein Doppelklick auf die Pfeile einbauen, was dann eine verschiebung um einen ganzen Anzeigebereich bewirkt.
NicTheQuick hat geschrieben:Und noch ein kleiner Hinweis zu deinem Beispielcode: Leider sind die Textfelder unter Ubuntu etwas abgeschnitten.
Danke für die Info, werde ihnen etwas mehr Platz geben.
Und danke fürs Testen auf Ubuntu.
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
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von RSBasic »

Hallo Martin,


vielen Dank für dein Update. Deine Verbesserungen sind klasse, aber ein Bug habe ich gefunden und zwar:
Wenn ich z.B. den ersten Tab mit der Maus verschiebe, dann funktioniert es zwar, aber bei einer bestimmten Stelle (siehe Mauscursor im Screenshot im 2. Fall) nicht:
Bild

Getestet mit Windows 7 64 Bit und PureBasic 4.60 64 Bit.

Ansonsten super Arbeit, gefällt mir. :allright: Vielleicht nutze ich es für mein zukünftiges Projekt.
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: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

@RSBasic: Kannst du diesen Bug bzw Effekt reproduzieren? Ich schaffe es leider nicht.
Wenn ja, dann bitte etwas genauer beschreiben wo du mit der Maus "startest" und dann wohin zu ziehst.
Und vorallem: Ist es nur die Animation die spinnt, oder wird der Tab dann wirklich da hinten abgesetzt?

BTW: danke fürs testen.
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
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von RSBasic »

Ja, der Fehler entsteht jedes Mal. Ich hab mal für dich ein Video erstellt, so dass du besser nachvollziehen kannst, was ich meine: http://www.file-upload.net/download-415 ... 7.zip.html
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: TabBarGadget - Tabs wie im Browser

Beitrag von ts-soft »

Bestätigt!
Aber nur unter x64, sobald man den Tab zu weit links rauszieht, erscheint rechts ein Geistertab!

:allright:
Ansonsten schöne Sache :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

So, vorab: ich konnte diesen Effekt auf 64Bit bestätigen.
Nachdem ich nun lange nach dem Fehler gesucht habe und ihn auch gefunden hatte, musste ich ihn noch in einem kleinen Code reproduzieren.

Ergebnis ist, dass es scheinbar genau einen Umrechnungesfehler gibt, wenn man eine Integer unter 64Bit, welche in einer Struktur ist mit einer Float-Variable multipliziert:

Code: Alles auswählen

Define IntegerStructure.Integer
Define Integer.i
Define N.i
Define Factor.f

Debug "------"
For N = 5 To 15
  Factor = 0.5
  IntegerStructure\I = (N-10)*Factor
  Debug IntegerStructure\I
Next
Debug "------"
For N = 5 To 15
  Factor = 0.5
  Integer = (N-10)*Factor
  Debug Integer
Next
Debug "------"
------
4294967294
4294967294
4294967294
4294967295
0
0
0
1
2
2
2
------
-2
-2
-2
-1
0
0
0
1
2
2
2
------
Wie man sieht, wird beim ersten Beispiel, wo die Integer in einer Struktur ist, keine negative Zahl zurückgegeben, sondern $FFFFFFFF minus diese Zahl.
Das ist schon sehr komisch, dass es bei normalen Intergs nicht passiert.
Kann das jemand bestätigen, dann würde ich es zu Bugs posten ... denn scheinbar wird vom Ergbnis N-10 unter 64Bit und Struktur, das hohe Long weggelassen was dann zu einer hohen Positiven Zahl führt.

Sachen gibts ^^
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
Antworten