Seite 2 von 3

Verfasst: 12.11.2007 18:54
von Thorsten1867
Jetzt brauche ich wirklich eine größere ToDo-Liste. :mrgreen:
Die nächsten Monate werde ich mich wohl nicht langweilen. :wink:
Leonhard hat geschrieben:- kein Multi-OS-Funktion drin (das muss jetzt nicht für das Programm sein, nur für das Projekt)
Was genau soll das sein? Checkboxen auf der Infoseite?
Leonhard hat geschrieben:- kein Copyright für das Projekt festlegbar (bzw. Lizens)
Inwieweit soll ich eine Copyright festlegen?
Um den Lizenstext kümmert sich EasySetup, falls du das meinst.
Leonhard hat geschrieben:- man kann kein Arbeitsmaterial (Screen-Shots, Texte, Dokumentation) für das Projekt hinterlegen
Kannst du das näher ausführen?
Leonhard hat geschrieben:- die ToDo-Listen-Einträge sollten gruppiert werden können. So eine Funktion gibt es ja bei einer LinkedList in Windows
Meinst du damit einen Treeview?

Verfasst: 14.11.2007 07:58
von Leonhard
>Inwieweit soll ich eine Copyright festlegen?
Um den Lizenstext kümmert sich EasySetup, falls du das meinst.
Wenn ich eine eigene Lizens verwenden möchte, gibt es dar keine Eingabe-Felder bzw. man kann keine Dateien dafür einbinden.

>Was genau soll das sein? Checkboxen auf der Infoseite?
evtl. auch das. Ich meine eher eine Auswahl bei der ToDo-Liste.

>- man kann kein Arbeitsmaterial (Screen-Shots, Texte, Dokumentation) für das Projekt hinterlegen
>Kannst du das näher ausführen?
Ich meine, man kann keine Notizen hinterlegen oder Dokumentationen. Es sollte auch ein Explorer exsistieren, wo man dann jeder Datei ein paar Notizen hinterlegen kann. Weiter ist es bestimmt hilfreich, das man Ressourcen (Bilder, Audios (nicht unbedingt) und HTML-Dateien als Dokumentationen hinzufügen kann.

>Meinst du damit einen Treeview?
Nein, so etwas ungefähr.

Code: Alles auswählen

; *****************************************************************
; ************ Requires WinXP with Skins enabled ******************
; *****************************************************************
#LVM_FIRST = $1000
#LVM_SETGROUPMETRICS = #LVM_FIRST + 155
#LVM_ENABLEGROUPVIEW = #LVM_FIRST + 157
#LVM_INSERTGROUP = #LVM_FIRST + 145
#LVGF_HEADER = 1
#LVGF_ALIGN = 8
#LVGF_STATE = 4
#LVGF_GROUPID = $10
#LVGMF_BORDERCOLOR = 2
#LVGMF_BORDERSIZE = 1
#LVGMF_NONE = 0
#LVGMF_TEXTCOLOR = 4
#LVGA_HEADER_CENTER = 2
#LVGA_HEADER_LEFT = 1
#LVGA_HEADER_RIGHT = 4
#LVIF_GROUPID = $100
#LVIF_IMAGE = 2
#LVIF_TEXT = 1

; --> Structure used tp define Group
Structure LVGROUP
  cbSize.l
  mask.l
  pszHeader.l
  cchHeader.l
  pszFooter.l
  cchFooter.l
  iGroupId.l
  stateMask.l
  state.l
  uAlign.l
EndStructure

; --> Structure used for changing Group colors
Structure LVGROUPMETRICS
 cbSize.l
 mask.l
 left.l
 top.l
 right.l
 bottom.l
 crLeft.l
 crTop.l
 crRight.l
 crBottom.l
 crHeader.l
 crFooter.l
EndStructure

; --> Create 3 Group images
redImg = CreateImage(0, 16, 16)
StartDrawing(ImageOutput(0))
Box(0, 0, 16, 16, RGB(255, 0, 0))
StopDrawing()

greenImg = CreateImage(1, 16, 16)
StartDrawing(ImageOutput(1))
Box(0, 0, 16, 16, RGB(0, 255, 0))
StopDrawing()

blueImg = CreateImage(2, 16, 16)
StartDrawing(ImageOutput(2))
Box(0, 0, 16, 16, RGB(0, 0, 255))
StopDrawing()

Procedure.l ListIcon_ActiveGroups(hGadget.l, bMode.b)
  ProcedureReturn SendMessage_(hGadget, #LVM_ENABLEGROUPVIEW, bMode, 0)
EndProcedure

Procedure.l ListIcon_AddGroup(hGadget.l, iGroupID.l, Name.s)
  Protected lvGroup.LVGROUP
  With lvGroup
    \cbSize    = SizeOf(LVGROUP)
    \mask      = #LVGF_HEADER | #LVGF_GROUPID | #LVGF_ALIGN
    
    CompilerIf #PB_Compiler_Unicode
    \pszHeader = @Name
    CompilerElse
    Protected NameBuffer.s = Space(Len(Name) * 2 + 2)
    PokeS(@NameBuffer, Name, -1, #PB_Unicode)
    \pszHeader = @NameBuffer
    CompilerEndIf
    
    \cchHeader = lLen * 2
    \iGroupId  = iGroupID
    \uAlign    = #LVGA_HEADER_LEFT
  EndWith
  ProcedureReturn SendMessage_(hGadget, #LVM_INSERTGROUP, 0, lvGroup)
EndProcedure

Procedure.l ListIcon_SetGroupTextColor(hGadget.l, crColor.l)
  Protected lvGM.LVGROUPMETRICS
  With lvGM
    \cbSize = SizeOf(LVGROUPMETRICS)
    \mask = #LVGMF_TEXTCOLOR
    \crHeader = crColor
  EndWith
  ProcedureReturn SendMessage_(GadgetID(0), #LVM_SETGROUPMETRICS, 0, lvGM)
EndProcedure

Procedure.l ListIcon_SetItemGroup(hGadget.l, iItem.l, iGroupID.l)
  Protected lvitemgroup.LVITEM
  With lvitemgroup
    \mask     = #LVIF_GROUPID
    \iItem    = iItem
    \iGroupId = iGroupID
  EndWith
  ProcedureReturn SendMessage_(GadgetID(0), #LVM_SETITEM, iItem, lvitemgroup)
EndProcedure

If OpenWindow(0, 0, 0, 500, 300, "ListIconGadget Groups", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
  ListIconGadget(0, 10, 10, 480, 280, "", 200)
  ChangeListIconGadgetDisplay(0, 1)
  For i = 0 To 3
    item$ = "Item " + Str(i)
    AddGadgetItem(0 , i, item$, redImg)
  Next  i
  For i = 4 To 7
    item$ = "Item " + Str(i)
    AddGadgetItem(0 , i, item$, greenImg)
  Next  i
  For i = 8 To 11
    item$ = "Item " + Str(i)
    AddGadgetItem(0 , i, item$, blueImg)
  Next  i
  ; --> Enable Group view
  ListIcon_ActiveGroups(GadgetID(0), #True)
  
  ListIcon_AddGroup(GadgetID(0), 0, "Red Group")
  ListIcon_AddGroup(GadgetID(0), 1, "Green Group")
  ListIcon_AddGroup(GadgetID(0), 2, "Blue Group")
  
  ; --> Change Group header text color
  ; --> AFAIK, Group Metrics applies to all Groups
  ListIcon_SetGroupTextColor(GadgetID(0), RGB(100, 50, 100))
  
  ; --> Place items 0 - 3 into Group 0
  For r = 0 To 3
    ListIcon_SetItemGroup(GadgetID(0), r, 0)
  Next r
  ; --> Place items 4 - 7 into Group 1
  For g = 4 To 7
    ListIcon_SetItemGroup(GadgetID(0), g, 1)
  Next g
  ; --> Place items 8 - 11 into Group 2
  For b = 8 To 11
    ListIcon_SetItemGroup(GadgetID(0), b, 2)
  Next b
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Verfasst: 14.11.2007 22:40
von Thorsten1867
Ich denke mal, dass das mit meinen esGrid-Listen nicht funktioniert, da es sehr API lastig zu sein scheint. Da muss ich mir wohl etwas anderes einfallen lassen.

Verfasst: 03.12.2007 14:04
von Thorsten1867
Update
- Beschreibung für Projekt auf Infoseite
- Unterstützung von UPX (Komprimieren von Exe)
- ToDo-Liste komplett überarbeitet (Fortschrittsanzeigen, Teilaufgaben, ...)

Verfasst: 07.12.2007 21:00
von Andre
Hi Thorsten!

Wie wäre es mit einem Showcase-Eintrag auf www.PureArea.net ? :D

Verfasst: 07.12.2007 21:16
von Thorsten1867
EasyProject befindet sich im Moment noch im frühen Betastadium.
Zudem beschränkt sich mein Internetzugang seit meinen Ärger mit "freenet" auf meinen Ogo (Spar-Blackberry) und mit der Miniaturtastatur und -bildschirm ist eine Anmeldung etwas schwierig.

Verfasst: 08.01.2008 17:17
von Thorsten1867
Nach Providerwechsel ist wieder ein Download möglich.
Download EasyProject

Neue Version
Benutzerdefiniertes Programm aufrufen (z.B. Versionsverwaltung)
- Programmparameter kann übergeben werden
- Icon und Tooltipp für Button (24*24) festlegbar

Verfasst: 26.07.2008 19:12
von Thorsten1867
Version 0.7
- Einstellungen für Projekt als Karteikarten (Panel) anstatt einzelne Fenster
- Unterstützung von Netzlaufwerken (User/Passwort) verbessert
- Bugfix: ToDo-Liste ('erledigt' wurde nicht korrekt gespeichert)
- einige kleinere Änderungen

Verfasst: 28.07.2008 09:52
von dige
@Thorsten: gibt es schon eine kleine Anleitung für das Programm? Mit trial & error bin ich nicht wirklich weiter gekommen..

Verfasst: 28.07.2008 16:24
von Thorsten1867
In der Regel reicht es die erste Seite auszufüllen bzw. aus EasySetup importieren. Dann die Pfade usw. in den Einstellungen festlegen. Danach sollte es reichen auf die Knöpfe zu drücken. ;-)