Modul ListIconGadgetEx: RenderCell()

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Modul ListIconGadgetEx: RenderCell()

Beitrag von Kiffi »

Grüezi,

vielleicht kennt Ihr bereits mein Modul ListIconGadgetEx, das mehrere Funktionen bietet, die SpiderBasic nativ nicht unterstützt.

https://github.com/spiderbytes/ListIconGadgetEx

Ich habe nun eine neue Prozedur namens RenderCell() hinzugefügt, die es ermöglicht, die Datenausgabe zu manipulieren. Auf diese Weise könnt Ihr das Aussehen Eurer Daten beeinflussen.

Beispiel:

Code: Alles auswählen

EnableExplicit

XIncludeFile "ListIconGadgetEx.sbi"

Enumeration
  #Window
  #ListIconGadget
EndEnumeration

Procedure.s RenderCell(Row, Col, Text.s, TD, ListIconGadget)
  
  ; We want to set the text color depending on the amount:
  
  Protected TextColor.s
  
  If Val(Text) > 0
    
    ; incomming -> that's good! :-)
    TextColor = "green"
    
  ElseIf Val(Text) < 0
    
    ; outgoing  -> that's bad :-(
    TextColor = "red"
    
  ElseIf Val(Text) = 0 
    
    ; 0 -> neutral
    TextColor = "black"
    
  EndIf
  
  ! $(v_td).css("color", v_textcolor)
  
  ! $(v_td).css("text-align", "right"); // the column is right-aligned
  
  ; Now we change the output text:
  
  ; Please keep in mind that this only affects the *output*
  ; and GetGadget(Item)Text() still returns the Amount (without the '€'-sign)
  
  Text + " €"
  
  ! $(v_td).text(v_text);
  
EndProcedure

OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 250, 200, "RenderCell Demo 1", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

ListIconGadget(#ListIconGadget, 0, 0, WindowWidth(#Window), WindowHeight(#Window), "Description", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)

AddGadgetColumn(#ListIconGadget, 1, "Amount", 100)

AddGadgetItem(#ListIconGadget, -1, "Salary"        + #LF$ + "2000")
AddGadgetItem(#ListIconGadget, -1, "Food & Drinks" + #LF$ + "-500")
AddGadgetItem(#ListIconGadget, -1, "Car Petrol"    + #LF$ + "-160")
AddGadgetItem(#ListIconGadget, -1, "Internet"      + #LF$ + "-50")

ListIconGadgetEx::RenderCell(#ListIconGadget, 1, @RenderCell()) ; we want to render the Amount-Column
Bild

Grüße ... Peter
Hygge
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Modul ListIconGadgetEx: RenderCell()

Beitrag von RSBasic »

Danke für die Umsetzung. :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
dige
Beiträge: 1182
Registriert: 08.09.2004 08:53

Re: Modul ListIconGadgetEx: RenderCell()

Beitrag von dige »

Super, dass eröffnet neue Möglichkeiten. Danke! :allright:
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Antworten