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: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: TabBarGadget - Tabs wie im Browser

Beitrag von STARGÅTE »

NicTheQuick hat geschrieben:Irgendwie fehlt noch, dass man ein Tab außerhalb des sichtbaren Bereichs schieben kann.
Da stimme ich dir zu. Zudem kann man ja die Navigationspfeile auch nicht gedrückt halten für kontinuierlichen Scroll.
Der Grund für beides ist halt, das bei gedrückter Maus und "stillstand" kein Event erzeugt wird.

PostEvent() scheint ja inzwischen zu funktionierten, denn es ist ja bereits in der Beta enthalten und auch in der PB-IDE.
Das heißt, ich müsste eigentlich nur noch einen kleinen Thread ausführen, der bei gedrückter Maus auf einen Navigationspfeil oder beim verschieben eines Tabs kontinuierlich ein Event sendet, was das Gadget aktualisiert. Dies würde allerdings eine Thread-Safe aktivierung erfordern.

Über Ostern kann ich mich dabei mal befassen.
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
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: TabBarGadget - Tabs wie im Browser

Beitrag von freak »

Nimm doch einfach einen Timer.
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 »

Das "belastet" ja wieder den Benutzer, der dann in seiner Event-Schleife noch zusätzlich auf das Timer-Event reagieren muss, oder wie wäre deine Vorstellung?
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
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 »

Nimmste meinen EventManager, siehe: http://www.purebasic.fr/german/viewtopi ... =8&t=26471
Der kann auch Timer Managen :wink:
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
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: TabBarGadget - Tabs wie im Browser

Beitrag von Lambda »

Und wie erwähnt kein #PB_EventType_Size, aber das ist ja unser Problem. So lange es dieses Ereignis nicht gibt, lohnt sich auch kein Manager wenn man dennoch eine Update-Funktion aufrufen muss, damit auf Größenveränderungen reagiert wird.
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: TabBarGadget - Tabs wie im Browser

Beitrag von freak »

STARGÅTE hat geschrieben:Das "belastet" ja wieder den Benutzer, der dann in seiner Event-Schleife noch zusätzlich auf das Timer-Event reagieren muss, oder wie wäre deine Vorstellung?
Besser als zu verlangen das nur deswegen Threadsafe aktiviert werden muss.
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 »

cOoki3druqs hat geschrieben:Und wie erwähnt kein #PB_EventType_Size, aber das ist ja unser Problem. So lange es dieses Ereignis nicht gibt, lohnt sich auch kein Manager wenn man dennoch eine Update-Funktion aufrufen muss, damit auf Größenveränderungen reagiert wird.
Manager = Verwalten, nicht Erzeugen. Irgendwo hast Du wohl doch leichte Sprachprobleme :freak:

Ansonsten wäre die Nutzung meines Managers, bzw. des Prinzips für STARGÅTE schon nützlich, da der Anwender nicht
selbst irgendetwas in sein EventLoop hinzufügen müßte, es muß einfach nur ein EventLoop vorhanden sein.
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
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: TabBarGadget - Tabs wie im Browser

Beitrag von Lambda »

Nicht gleich ausfällig werden. Du wirbst nur mit etwas, was du nicht bieten kannst (Ev. Steuerung für eigene Canvas Gadgets). Ich sage nicht das du Fehlendes jetzt erzeugen sollst, sondern nur dass es eben nicht existiert. Ist nur etwas sehr unprofessionell, dem Nutzer dann zu sagen: "dein Problem".
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 »

Warum muss dazu Threadsafe aktiviert werden? Braucht man das nicht nur in Verbindung mit Strings? Man kann doch auch ohne Threadsafe PB-Programme schreiben, die Threads nutzen. Man muss dafür halt Mutexe und Semaphoren nutzen, wenn man was schützen muss.
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 »

cOoki3druqs hat geschrieben:Ist nur etwas sehr unprofessionell, dem Nutzer dann zu sagen: "dein Problem".
Was soll man denn sagen, wenn der Anwender Features bemängelt, für die der Manager gar nicht vorgesehen ist?
Es werden alle Events, die das CanvasGadget erzeugt, werden unterstützt, wo ist also die Falschaussage?
Deine Aussage ist, als wenn man bemängelt, das Notepad keine Bilder anzeigt und keine Sounds abspielt :mrgreen:

Wenn Dir meine Include nicht gefällt, dann ignoriere sie einfach, statt komische Aussagen zu machen!
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
Antworten