Nabend zusammen,
ich hab noch nie unter Linux programmiert. Da ich aber vielleicht einige meiner Projekte versuchen möchte auf Linux zu portieren, wollt ich mal fragen wie das mit den GTK- APIs geht, genau so wie unter Windows?
Und dann ist mir aufgefallen, dass die SetWindowCallBack() - Funktion nur für Windows ist - wie fängt man denn unter PB- Linux Messages ab?
MfG
strgalt
[Linux] API unter Linux
[Linux] API unter Linux
Wer lesen kann, ist klar im Vorteil
MfG
strgalt
MfG
strgalt
Also da du hier allgemein nach APIs für Linux fragst kann ich dir auch
nochmal die Dokumentation zu der LibC ans Herz legen, da in dieser
Lib sehr viele Befehle deklariert sind, die einem sehr weiter helfen:
http://www.gnu.org/software/libc/manual/
nochmal die Dokumentation zu der LibC ans Herz legen, da in dieser
Lib sehr viele Befehle deklariert sind, die einem sehr weiter helfen:
http://www.gnu.org/software/libc/manual/
- 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
Sehr viele Info's findest Du auch hier: http://lidn.sourceforge.net/
Ist sowas wie MSDN, bloß für Linux
Ist sowas wie MSDN, bloß für Linux

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

hmm, ich seh schon...
also wie iich das sehe, sind so eher "allgemeine" sachen wie meinetwegen mathematische Funktionen mit der Lib zu behandeln und Funktionen zu den Steuerelementen über´s GTK? <-- sorry für die Frge aber Linux is noch Glatteis
Also zum beispiel nehmen wir das TreeGadget: Hier fehlen in PB leider elementare Events wie der Rechtsclick auf eine Node. Mit PB unter Windows kein Problem: WindowProc - MSG abfragen .... - leichte Sache.
Aber wie geht sowas nu unter PB- Linux vor sich?
also wie iich das sehe, sind so eher "allgemeine" sachen wie meinetwegen mathematische Funktionen mit der Lib zu behandeln und Funktionen zu den Steuerelementen über´s GTK? <-- sorry für die Frge aber Linux is noch Glatteis

Also zum beispiel nehmen wir das TreeGadget: Hier fehlen in PB leider elementare Events wie der Rechtsclick auf eine Node. Mit PB unter Windows kein Problem: WindowProc - MSG abfragen .... - leichte Sache.
Aber wie geht sowas nu unter PB- Linux vor sich?
Wer lesen kann, ist klar im Vorteil
MfG
strgalt
MfG
strgalt
Wenn man ein Event-Abfragen will das von PB nicht zu Verfügung gestellt wird, von GTK aber schon, kann man es bewerkstelligen:
So werden in GTK Events mit Funktionen verknüpft, und es funktioniert auch in PB.
Verschidenen Gadgets können auf verschidene Events reagieren.
Leider ist GTK nicht so ganz einfach wie PB, kann nicht erwarten das man sich in 3-Tagen in GTK einarbeiten kann.
Die beste Adress was die GTK-Fragen angeht ist wohl (was sonst):
http://www.gtk.org
Schau unter API Reference. Da gibt es auch einen Tutorial.
Man muss aber oft wo anders suchen um herauszufinden wie etwas Programmiert wird. Eine zentrale Anlaufstelle für die Linux-Programmierung Fragen (ähnlich der MSDN für Windows) gibt es nicht.
Die besagte LiDN ist eines der vielen Projekte, und kann (zuzeit ?) mit MSDN keinesfalls gleichgesetzt werden.
Erwähnenswert ist sicher glib(und glib2) mit vielen nutzlichen Funktionen:
http://developer.gnome.org/doc/API/glib/
z.B leicht verwendbare Timer.
Also viel Spass mit Linux-Programmierung.
Code: Alles auswählen
;
; ------------------------------------------------------------
;
; PureBasic - Window example file
;
; (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;
Procedure bu_cb( *widget.GtkWidget ,ggfdatenpointerhier.l)
PrintN("tree-select-row signal")
EndProcedure
If OpenWindow(0, 100, 100, 395, 260, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "PureBasic Window")
CreateGadgetList(WindowID())
bu.l=ButtonGadget(2,320,10,50,25,"tesd");
tg.l=TreeGadget(1, 10 ,10, 300, 200 )
CloseGadgetList()
AddGadgetItem(1, 1,"Item 1")
AddGadgetItem(1, 1,"Item 2")
OpenTreeGadgetNode(1)
AddGadgetItem(1, -1, "Sub-Item 1")
AddGadgetItem(1, -1, "Sub-Item 2")
AddGadgetItem(1, -1, "Sub-Item 3")
AddGadgetItem(1, -1, "Sub-Item 4")
CloseTreeGadgetNode(1)
;tree-select-row" signal mit der Funktion bu_cb verbinden
;Dieses Signal wird gesendet wenn eine Zeile gewählt wird, Standartmässig durch einen Rechtsclick
;Rechtsclick auf eine Node bewirkt das gleiche.
gtk_signal_connect_(tg, "tree-select-row",@bu_cb(),ggfdatenpointerhier.l);
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_EventCloseWindow ; If the user has pressed on the close button
Quit = 1
EndIf
Until Quit = 1
EndIf
End ; All the opened windows are closed automatically by PureBasic
Verschidenen Gadgets können auf verschidene Events reagieren.
Leider ist GTK nicht so ganz einfach wie PB, kann nicht erwarten das man sich in 3-Tagen in GTK einarbeiten kann.
Die beste Adress was die GTK-Fragen angeht ist wohl (was sonst):
http://www.gtk.org
Schau unter API Reference. Da gibt es auch einen Tutorial.
Man muss aber oft wo anders suchen um herauszufinden wie etwas Programmiert wird. Eine zentrale Anlaufstelle für die Linux-Programmierung Fragen (ähnlich der MSDN für Windows) gibt es nicht.
Die besagte LiDN ist eines der vielen Projekte, und kann (zuzeit ?) mit MSDN keinesfalls gleichgesetzt werden.
Erwähnenswert ist sicher glib(und glib2) mit vielen nutzlichen Funktionen:
http://developer.gnome.org/doc/API/glib/
z.B leicht verwendbare Timer.
Also viel Spass mit Linux-Programmierung.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
danke für deine ausführliche Antwort.
Erstmal vielen Dank für die Mühe die du dir gemacht hast
Die Sache sieht ja ganz iteressant aus. Die Art Steuerelemente und Event so zu verknüpfen erscheint mir gar nicht so schlecht. PB hat nun mal in diese Richtung viele Mankos, und da erscheint mir diese Variante der Verknüpfung von Steuerelement und Event fast übersichtlicher als mit der WindowProc.
Hab mir heute nacht noch einen kleinen Überblick über GTK verschafft, und ich bin guter Dinge, dass die Portierung einigermaße glimflich und vollständig sein wird.
Erstmal vielen Dank für die Mühe die du dir gemacht hast

Die Sache sieht ja ganz iteressant aus. Die Art Steuerelemente und Event so zu verknüpfen erscheint mir gar nicht so schlecht. PB hat nun mal in diese Richtung viele Mankos, und da erscheint mir diese Variante der Verknüpfung von Steuerelement und Event fast übersichtlicher als mit der WindowProc.
Hab mir heute nacht noch einen kleinen Überblick über GTK verschafft, und ich bin guter Dinge, dass die Portierung einigermaße glimflich und vollständig sein wird.
Wer lesen kann, ist klar im Vorteil
MfG
strgalt
MfG
strgalt