Auswahl im ListIcongadget / einer Zelle

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
alen
Beiträge: 107
Registriert: 09.04.2007 17:38
Computerausstattung: Main Hardware: AMD Ryzen 5 1600 - 6 Core / Gigabyte B450 Aorus Pro / Sapphire RX580 8GB
PB 5.61 and earlier @ Manjaro Linux XFCE x64/ Fedora Linux Cinnamon x64 / Windows 10 x64 on various Hardware Platforms
Wohnort: Duisburg
Kontaktdaten:

Auswahl im ListIcongadget / einer Zelle

Beitrag von alen »

Hallo Zusammen,
ich suche jetzt schon eine Weile nach einem Ansatz. Irgendwie finde ich nichts brauchbares.
Vielleicht kann mir jemand von Euch einen Schubs geben und hat eine Idee.

Der Aufbau ist derzeit recht simpel, ein ListIconGadget wo diverse Spalten mit Überschriften definiert sind.
Spalteninhalt sind bisher hauptsächlich Strings. Soweit alles gut und funktioniert.

Jetzt möchte ich in einer Spalte / Zelle aber auch eine Auswahl treffen können (wie im HTML ein Select Feld).
Yes / No oder anderes, aber eben aufklappbar. Und hier ist der Punkt an dem ich nicht weiterkomme.
Wie baue ich sowas auf ? Wird ein anderes Gadget in eine Spalte abgebildet ? Wenn ja wie ?

Hoffe jemand kann mir einen Tip geben.

Grüße
Alen

ui.xml

Code: Alles auswählen

<window id='#PB_Any' name='test' text='Gridbox' minwidth='650' minheight='300' flags='#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget'>
      <vbox expand='item:2'>
        <hbox>
          <button text='button 1'/>
        </hbox>
          <listicon text='id' id='#Edit_ListView' name="pubs" width='auto' height='auto' flags='#PB_ListIcon_GridLines'/>
      </vbox>
  </window>
dialog_example.pb

Code: Alles auswählen

Runtime Enumeration
    #Dialog
    #Xml
    #Edit_ListView
EndEnumeration



If LoadXML(#XML, "ui.xml") And XMLStatus(#Xml) = #PB_XML_Success

    If CreateDialog(#Dialog) And OpenXMLDialog(#Dialog, #Xml, "test")       
        AddGadgetColumn(#Edit_ListView, 1, "Nachnname", 40)
        AddGadgetColumn(#Edit_ListView, 2, "Vorname", 100)
        AddGadgetColumn(#Edit_ListView, 3, "Attribut Yes/No", 100)
        
        row.s = "1" + Chr(10) + "Mustermann" + Chr(10) + "Max" + Chr(10) + "Yes"
        
        AddGadgetItem(#Edit_ListView, -1, row)
        
        Repeat
            Event = WaitWindowEvent()
        Until Event = #PB_Event_CloseWindow 
      
    Else  
        Debug "Dialog error: " + DialogError(#Dialog)
    EndIf
Else
    Debug "XML error: " + XMLError(#Xml) + " (Line: " + XMLErrorLine(#Xml) + ")"
EndIf
---
Main Hardware: AMD Ryzen 5 1600 - 6 Core / Asus B350M-A / Nvidia GTX650
PB 5.61 and earlier @ Manjaro Linux XFCE x64/ Fedora Linux Cinnamon x64 / Windows 10 x64
on various Hardware Platforms (Notebook and Desktop)
Andesdaf
Moderator
Beiträge: 2661
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Auswahl im ListIcongadget / einer Zelle

Beitrag von Andesdaf »

da gibt es viele verschiedene Lösungsansätze, bspw:
https://www.purebasic.fr/english/viewto ... 13&t=55754
https://www.purebasic.fr/english/viewto ... 12&t=25286

... oder auch komplett selbstgemacht per CanvasGadget:
viewtopic.php?f=8&t=31330

Nach meiner Erfahrung hatte aber alles irgendwo seine Macken und war
letztlich den Aufwand nicht wert, ich bin davon weggekommen.
Win11 x64 | PB 6.10 (x64)
Benutzeravatar
alen
Beiträge: 107
Registriert: 09.04.2007 17:38
Computerausstattung: Main Hardware: AMD Ryzen 5 1600 - 6 Core / Gigabyte B450 Aorus Pro / Sapphire RX580 8GB
PB 5.61 and earlier @ Manjaro Linux XFCE x64/ Fedora Linux Cinnamon x64 / Windows 10 x64 on various Hardware Platforms
Wohnort: Duisburg
Kontaktdaten:

Re: Auswahl im ListIcongadget / einer Zelle

Beitrag von alen »

Hallo Andesdaf,

ich danke für die Anregungen.

Im Moment ist mir der letzte Link zum "ListEx Gadget - Module (All OS / DPI)" sympatisch, da Plattform übergreifend.
Mal sehen was ich daraus machen kann. Manchmal fehlen mir einfach die richtigen Suchbegriffe oder ich wende die Suche nicht richtig an.

Vielen Dank.
Grüße
Alen
---
Main Hardware: AMD Ryzen 5 1600 - 6 Core / Asus B350M-A / Nvidia GTX650
PB 5.61 and earlier @ Manjaro Linux XFCE x64/ Fedora Linux Cinnamon x64 / Windows 10 x64
on various Hardware Platforms (Notebook and Desktop)
Antworten