TabBarGadget - Tabs wie im Browser
Re: TabBarGadget - Tabs wie im Browser
Na in der PB-IDE kannst du unter Einstellungen->Editor auch den Haken bei "Schließ-Knöpfe in jedem Tab" rausnehmen.
Dann kannst du die Tabs immer noch mit der Mittel-Maus-Taste schließen.
Ich weiß nicht, ob meine Finale Version früher fertig ist als seine letzte Beta, und gerade das mit dem Thread muss unbedingt noch genauer untersucht werden, nicht das die IDE ab und zu abstürzt wegen meiner Tabs.
Dann kannst du die Tabs immer noch mit der Mittel-Maus-Taste schließen.
Ich weiß nicht, ob meine Finale Version früher fertig ist als seine letzte Beta, und gerade das mit dem Thread muss unbedingt noch genauer untersucht werden, nicht das die IDE ab und zu abstürzt wegen meiner Tabs.
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: TabBarGadget - Tabs wie im Browser
Das wäre natürlich nicht so schön.STARGÅTE hat geschrieben:[...], nicht das die IDE ab und zu abstürzt wegen meiner Tabs.

Re: TabBarGadget - Tabs wie im Browser
Das mit der Mittleren Maustaste wusste ich nicht!STARGÅTE hat geschrieben:Na in der PB-IDE kannst du unter Einstellungen->Editor auch den Haken bei "Schließ-Knöpfe in jedem Tab" rausnehmen.
Dann kannst du die Tabs immer noch mit der Mittel-Maus-Taste schließen.
und es kann zu zufälligen abstürzen kommen:
Code: Alles auswählen
Procedure TabBarGadget_Timer(Null.i)
Protected last
With TabBarGadgetInclude\Timer
Repeat
If \TabBarGadget
Delay(0)
If \TabBarGadget
Repeat
If ElapsedMilliseconds() - last => 200
PostEvent(#PB_Event_Gadget, \TabBarGadget\Window, \TabBarGadget\Number, #TabBarGadgetEvent_Pushed, \Type)
last=ElapsedMilliseconds()
EndIf
Delay(0)
Until \TabBarGadget = #Null
EndIf
Else
Delay(0)
EndIf
ForEver
EndWith
EndProcedure
mfg kevin
Re: TabBarGadget - Tabs wie im Browser
Kann ich leider nicht reproduzieren (zumindest in den ersten 3min nicht).
PostEvent() ist auf jedenfall Threadsicher:
"Dieser Befehl kann sehr nützlich für die Kommunikation zwischen Threads und der Haupt-Ereignisschleife sein. Zum Beispiel kann ein Thread ein benutzerdefiniertes Ereignis (mit zugewiesenen Daten) senden, wenn er mit seiner Verarbeitung fertig ist, wodurch die Hauptschleife dieses erhält und die weitere Verarbeitung stattfinden kann."
Da im Thread keine String-Verarbeitung stattfindet, ist ja Thread-Safe nicht nötig.
Allerdings habe ich schon eine Fehlerquelle entdeckt.
Denn wenn "Until \TabBarGadget = #Null" zwar fehlschlegt, genau danach aber \TabBarGadget gelöscht wird, würde \TabBarGadget\Window ein IMA erzeugen.
Ich werde dort ein Mutex einbauen.
PostEvent() ist auf jedenfall Threadsicher:
"Dieser Befehl kann sehr nützlich für die Kommunikation zwischen Threads und der Haupt-Ereignisschleife sein. Zum Beispiel kann ein Thread ein benutzerdefiniertes Ereignis (mit zugewiesenen Daten) senden, wenn er mit seiner Verarbeitung fertig ist, wodurch die Hauptschleife dieses erhält und die weitere Verarbeitung stattfinden kann."
Da im Thread keine String-Verarbeitung stattfindet, ist ja Thread-Safe nicht nötig.
Allerdings habe ich schon eine Fehlerquelle entdeckt.
Denn wenn "Until \TabBarGadget = #Null" zwar fehlschlegt, genau danach aber \TabBarGadget gelöscht wird, würde \TabBarGadget\Window ein IMA erzeugen.
Ich werde dort ein Mutex einbauen.
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: TabBarGadget - Tabs wie im Browser
Nach langer Pause ist es nun wieder so weit, ich habe ein neues Update für euch.
Vorab möchte ich mich jedoch bei allen aktuellen nutzer entschuldigen,
da das neue Update leider ein paar grundlegende Änderungen mit sich bringt,
welche jedoch die Benutzung des Includes (gerade für neue Nutzer) um einiges Vereinfacht.
Update 1.5 Beta 1 (19. Oktober 2013)

Download: TabBarGadget V 1.5 Beta 1 Enthält die Include und die umfangreiche Hilfe mit Erklärungen und Beispielcodes
Onlinehilfe: TabBarGadget Hilfe
Wäre nett, wenn ihr die neue Version testet.
In der Hilfe gibt es u.A. ein kleinen Editor, wo man alle Attribute usw. in Echtzeit testen kann:
http://www.unionbytes.de/help/tabbargad ... ditor.html
PS: Ich suche jemanden der die Hilfe ins englische Übersetzen würde (ohne Google Translator), bitte per PN melden.
Hinweise zum Updaten von alten Versionen zu 1.5 Beta 1:
Vorab möchte ich mich jedoch bei allen aktuellen nutzer entschuldigen,
da das neue Update leider ein paar grundlegende Änderungen mit sich bringt,
welche jedoch die Benutzung des Includes (gerade für neue Nutzer) um einiges Vereinfacht.
Update 1.5 Beta 1 (19. Oktober 2013)
- Umstellung der Ereignisverwaltung auf PB 5.20 und BindEvent().
Somit ist kein TabBarGadgetEvent() mehr nötig und Ereignistypen
können wie woanders mit EventType() abgefragt werden. - Beim Erstellen muss nun das Fenster angegeben werde, wo es hinein soll.
- Einige Konstantennamen haben sich geändert, um PureBasic-Ähnlich zu sein.
- EventTab() hab ich entfernt um Namenskollision zu vermeiden,
dafür gibt es nun GetTabBarGadgetItemPosition() und SetTabBarGadgetItemPosition(),
so können Tabs auch mit einem Befehl verschoben werden. - Außerdem wurde die Funktionalität von vertikalen Tabs, Multiselect, Checkboxen und der Navigation verbessert.
- Das AutoScroll funktioniert aus Sicherheitsgründen nur, wenn ThreadSafe aktiviert ist.

Download: TabBarGadget V 1.5 Beta 1 Enthält die Include und die umfangreiche Hilfe mit Erklärungen und Beispielcodes
Onlinehilfe: TabBarGadget Hilfe
Wäre nett, wenn ihr die neue Version testet.
In der Hilfe gibt es u.A. ein kleinen Editor, wo man alle Attribute usw. in Echtzeit testen kann:
http://www.unionbytes.de/help/tabbargad ... ditor.html
PS: Ich suche jemanden der die Hilfe ins englische Übersetzen würde (ohne Google Translator), bitte per PN melden.
Hinweise zum Updaten von alten Versionen zu 1.5 Beta 1:
- Bei TabBarGadget() bitte nun als letzten Parameter (nach den Attributen) immer die Fensternummer angeben!
- TabBarGadgetEvent(<Gadget>) bitte mit EventType() (ohne Gadget-Angabe) ersetzen.
- Die Event-Konstanten haben sich wie folgt geändert:
- #TabBarGadgetEvent_TabEdited -> #TabBarGadget_EventType_EditItem
- #TabBarGadgetEvent_Resized -> #TabBarGadget_EventType_Resize
- #TabBarGadgetEvent_NewTab -> #TabBarGadget_EventType_NewItem
- #TabBarGadgetEvent_CloseTab -> #TabBarGadget_EventType_CloseItem
- #TabBarGadgetEvent_Change -> #TabBarGadget_EventType_Change
- #TabBarGadgetEvent_TabSwapped -> #TabBarGadget_EventType_SwapItem
- #TabBarGadgetEvent_PopupButton -> #TabBarGadget_EventType_PopupButton
- EventTab() bitte mit GetTabBarGadgetItemPosition(<Gadget>, #TabBarGadgetItem_Event) ersetzen.
- DisableTabBarGadgetItem() bitte ersetzen durch SetTabBarGadgetItemState() mit angabe von #TabBarGadget_Disabled
Zuletzt geändert von STARGÅTE am 19.10.2013 18:33, 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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: TabBarGadget - Tabs wie im Browser
Danke für die neue Version. Ich finds echt schade, dass die Aufrufe u.ä. geändert wurden. Bei PB hat mich das immer gestört, dass bestimmte Parameter vertauscht wurden oder dass bestimmte Funktionen umbenannt wurden. Ich nutze erstmal in einem Projekt immernoch deine alte Version. Mal schauen, wann ich Lust habe, es upzudaten und anzupassen.
Re: TabBarGadget - Tabs wie im Browser
Die alten Versionen (1.3 bzw 1.4) wird auch weiterhin Verfügbar bleiben.
Ich kann dich auch verstehen, finde ich selbst auch nervig, nur war es eben erforderlich weil inzwischen bei einem PB-Event (zB LeftMouseUp) u.U. zwei TabBarGadget-Events zurück gegeben werden müssen. Und dank BindEvent() läuft die Aktualisierung des Gadgets besser.
Ich kann dich auch verstehen, finde ich selbst auch nervig, nur war es eben erforderlich weil inzwischen bei einem PB-Event (zB LeftMouseUp) u.U. zwei TabBarGadget-Events zurück gegeben werden müssen. Und dank BindEvent() läuft die Aktualisierung des Gadgets besser.
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
- Beiträge: 47
- Registriert: 21.02.2010 13:02
Re: TabBarGadget - Tabs wie im Browser
Hallöchen,
bin gerade durch das Forum auf dein super TabBarGadget gestossen. Leider erhalte ich in der neuen Version 5.2 beim Aufruf der Example.pb inf folgender Zeile eine Fehlermeldung (ungültige Bildtiefe)
CreateImage(#PB_Any, 16, 16, 32|#PB_Image_Transparent)
Ist hier noch ein Fehler ?
Grüße aus Potsdam
frankmannb
bin gerade durch das Forum auf dein super TabBarGadget gestossen. Leider erhalte ich in der neuen Version 5.2 beim Aufruf der Example.pb inf folgender Zeile eine Fehlermeldung (ungültige Bildtiefe)
CreateImage(#PB_Any, 16, 16, 32|#PB_Image_Transparent)
Ist hier noch ein Fehler ?
Grüße aus Potsdam
frankmannb
Re: TabBarGadget - Tabs wie im Browser
Hallo frankmannb,
Bitte verwende die neuste Beta:
Download: TabBarGadget V 1.5 Beta 1 Enthält die Include und die umfangreiche Hilfe mit Erklärungen und Beispielcodes
Sie ist mit PB 5.2 kompatibel.
Bitte verwende die neuste Beta:
Download: TabBarGadget V 1.5 Beta 1 Enthält die Include und die umfangreiche Hilfe mit Erklärungen und Beispielcodes
Sie ist mit PB 5.2 kompatibel.
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: TabBarGadget - Tabs wie im Browser
Hallo STARGÅTE,
wirklich toll dein TabBarGadget! Bin gerade dabei, es in einem Editor zu verwenden. Funktioniert wirklich gut und habe bis jetzt keine Bugs entdeckt.
Ich habe aber eine Frage: wäre es möglich, ein RightClick-Event zu bekommen? Ich würde das für ein Popup-Menü pro Button benötigen (z.B. Editieren ein/ausschalten, Farbe ändern, Icon ändern, Tab schützen, ...) - im Prinzip sowas wie das PopupButton-Event, nur halt pro Tab.
Vielen Dank für deine herausragende Arbeit!
mfG RomanR
wirklich toll dein TabBarGadget! Bin gerade dabei, es in einem Editor zu verwenden. Funktioniert wirklich gut und habe bis jetzt keine Bugs entdeckt.
Ich habe aber eine Frage: wäre es möglich, ein RightClick-Event zu bekommen? Ich würde das für ein Popup-Menü pro Button benötigen (z.B. Editieren ein/ausschalten, Farbe ändern, Icon ändern, Tab schützen, ...) - im Prinzip sowas wie das PopupButton-Event, nur halt pro Tab.
Vielen Dank für deine herausragende Arbeit!

mfG RomanR