Zelle aus ListIconGadget auslesen

Für allgemeine Fragen zur Programmierung mit PureBasic.
kmais
Beiträge: 45
Registriert: 09.02.2017 13:54

Zelle aus ListIconGadget auslesen

Beitrag von kmais »

Guten Abend, Leute ....

Trotz intensiver Suche nichts gefunden ... :-(, außer für Windows.

Also, meine Frage ist, gibt es eine Möglichkeit unter Linux bei einem mehrspaltigen ListIconGadget eine Zelle durch Anklicken zu identifizieren? Also deren Spaltenindex und Zeilenindex (Eintrag) zu ermitteln?
Seitens des Gadgets selber scheint das nicht vorgesehen zu sein. Verstehe ich eigentlich nicht. Ein GridView existiert ja leider auch nicht.

Danke für jede Hilfe, Anregung, etc ....

.....Peter .....
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Zelle aus ListIconGadget auslesen

Beitrag von mk-soft »

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: Zelle aus ListIconGadget auslesen

Beitrag von Omi »

Hallo kmais.

Ein (etwas schlampiges älteres) Beispiel für das Ermitteln der ListIconGadget-Zelle unter Linux-Gtk wäre hier.

http://www.chabba.de/Linux/ListIconGadg ... &Column.pb

Die Ausgabe erfolgt dort auf Doppel-Linksklick. Bei anderen Wünschen müsste man etwas rumtüfteln, da das Klickverhalten ins ListIconGadget unter Linux-Gtk anders als auf Windows ist. Für das gtk_tree_view_get_cursor_() muss die Zeile selektiert sein was z.B. unter Gtk bei einem Rechtsklick nicht automatisch geschieht wie bei Windows!

Vielleicht hat ja Shardik auch noch was OS-übergreifendes im Angebot. Schau Dich mal hier um:
https://www.purebasic.fr/english/viewto ... 3&start=11


Gruß Charly
PureBasic Linux-API-Library: http://www.chabba.de
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Zelle aus ListIconGadget auslesen

Beitrag von ccode_new »

Hallo Leute,
da ich noch keine Lösung für QT gefunden habe
spreche ich jetzt eine Empfehlung für die tollen Module von "Thorsten1867" aus.

Meine aktuelle Empfehlung: ListEx

Nutze dabei die beiden Methoden: EventRow und EventColumn
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Zelle aus ListIconGadget auslesen

Beitrag von ccode_new »

..
Und für den Start reicht auch das GridEx-Modul zu.

Das funktioniert auch sehr gut unter Linux mit Qt.

Hier einmal ein schnelles kleines Beispiel:

Code: Alles auswählen

Enumeration
    #Win
    #Grid
  EndEnumeration
  
  Global row, column, Event
  

  If OpenWindow(#Win, 0, 0, 800, 470, "GridEX - Gadget - Test", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
    
    row = 10 : column = 3
    GridEx::Gadget(#Win, #Grid, 10, 10, 780, 450, row, column, GridEx::#Border|GridEx::#ScrollBars)
    
    GridEx::SetCellAlign(#Grid,  1, 1, GridEx::#Center)
    GridEx::SetCellType(#Grid,  1, 1, GridEx::#Edit) ;Editierbar
    GridEx::SetCellColor(#Grid,  1, 1, #PB_Gadget_BackColor,  $00FFFF) ;BGR
    
    GridEx::SetCellFont(#Grid, 2, 2, "Arial", 16)
    GridEx::SetCellColor(#Grid,  2, 2, #PB_Gadget_FrontColor,  $0000FF) ;BGR
    GridEx::SetCellText(#Grid, 2, 2, "Hallo kmais!")
    
    GridEx::SetColumnWidth(#Grid, 2, 200)
    GridEx::SetRowHeight(#Grid, 2, 100)
    
    GridEx::Refresh(#Grid)
    
    Repeat
      Event = WaitWindowEvent()
      
      Select Event
        Case #PB_Event_Gadget
          Select EventGadget()
            Case #Grid
              If EventType() = #PB_EventType_LeftClick
                Debug "aktuelle Zeile: " + Str(GridEx::GetCurrentCell(#Grid, GridEx::#Row))
                Debug "aktuelle Spalte: " + Str(GridEx::GetCurrentCell(#Grid, GridEx::#Column))
              EndIf
          EndSelect
              
        Case #PB_Event_Menu

      EndSelect
    Until  Event = #PB_Event_CloseWindow
   
  EndIf  

Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten