Page 30 of 32

Re: [Modules] ListEx (all OS / DPI)

Posted: Wed Jun 03, 2020 11:59 pm
by ruslanx
hi, the scrolling is very unstable ...lagging

Re: [Modules] ListEx (all OS / DPI)

Posted: Sun Sep 13, 2020 9:20 am
by lgb-this
I made some tests with the release from 21.05.2020 and i have the problem with the scrollbar too. It happens with screen scaling 100% or 200% on my Win10 pc. The behaviour is very erratic.

Any chance to fix this ?

Regards Matthias

Re: [Modules] ListEx (all OS / DPI)

Posted: Sun Sep 13, 2020 3:37 pm
by lgb-this
If the table is bigger than the gadget, i detected 2 problems:

Code: Select all

XIncludeFile "listexmodule.pbi"

OpenWindow(0, 50, 50, 600, 500, "Test")

#lg_test1 = 2

ListEx::Gadget(#lg_test1,10,10,500,400,"Titel 1",200)
ListEx::DisableReDraw(#lg_test1,#True) 
ListEx::AddColumn(#lg_test1,1,"Titel 2",100)
ListEx::AddColumn(#lg_test1,2,"Titel 3",300)
  
For i = 0 To 100
  ListEx::AddItem(#lg_test1,ListEx::#LastItem,"Zeile " + Str(i) + #LF$ + "Zeile " + Str(i) + #LF$ + "Zeile " + Str(i))
Next i

ListEx::DisableReDraw(#lg_test1,#False)

Repeat
  EventID = WaitWindowEvent(1) 
Until EventID = #PB_Event_CloseWindow

CloseWindow(0)
Problem 1: I can't select a line higher than row 18. Only the visible lines 1..17 can be selected with the mouse.

Problem 2: If i make a right click => the program crashes.

If i change the width of the 3rd column to "100", the program is ok and the 2 problems are gone. In this case the table is smaller than the gadget.

Any idea ?

Regards Matthias

Re: [Modules] ListEx (all OS / DPI)

Posted: Tue Feb 23, 2021 9:26 am
by nicoh
Hi,

the ListEx::#EventType_Row event is not fired when navigating with up and down keys.

Re: [Modules] ListEx (all OS / DPI)

Posted: Sun Apr 25, 2021 2:46 pm
by doctorized
I tried the latest one from 21.05.2020 and AlternateRow color seems not to be working. All lines have the same color. Why is that?

Re: [Modules] ListEx (all OS / DPI)

Posted: Thu Mar 17, 2022 4:01 pm
by nicoh
I fixed 2 bugs related to DPI scaling.

The lines between "EDIT nicoh" and "EDIT nicoh end" have been changed from the last officially released version.

1. Add dpi(X) in GetColum_X()

Code: Select all

 Procedure.i GetColumn_(X.i)

    If ListEx()\ScrollBar\Item("VScroll")\Hide = #False And X >= ListEx()\ScrollBar\Item("VScroll")\X
      ProcedureReturn #NotValid
    EndIf
    
    X = DesktopUnscaledX(X)
    
    If X > ListEx()\Size\X And X < ListEx()\Size\Cols
      
      ForEach ListEx()\Cols()
        ; EDIT nicoh replaced this line:
        ; If ListEx()\Cols()\X >= X + DesktopUnscaledX(ListEx()\Col\OffsetX)
        If ListEx()\Cols()\X >= dpiX(X) + DesktopUnscaledX(ListEx()\Col\OffsetX)
        ; EDIT nicoh end
          ProcedureReturn ListIndex(ListEx()\Cols()) - 1
        EndIf
      Next
      
      ProcedureReturn ListIndex(ListEx()\Cols())
    Else
      ProcedureReturn #NotValid
    EndIf
    
  EndProcedure
2. Fix X, Y, Width, Height, State in DrawProgressBar_()

Code: Select all

Procedure   DrawProgressBar_(X.f, Y.f, Width.f, Height.f, State.i, Text.s, TextColor.i, Align.i, FontID.i)
      Define.f Factor
      Define.i pbWidth, pbHeight, textX, textY, Progress, Percent
      
      If State < ListEx()\ProgressBar\Minimum : State = ListEx()\ProgressBar\Minimum : EndIf
      If State > ListEx()\ProgressBar\Maximum : State = ListEx()\ProgressBar\Maximum : EndIf
      
      ; EDIT nicoh added the following 5 lines:
      X = DesktopUnscaledX(X)
      Y = DesktopUnscaledY(Y)
      Width = DesktopUnscaledX(Width)
      Height = DesktopUnscaledY(Height)
      State = DesktopUnscaledX(State)
      ; EDIT nicoh end
      
      pbWidth  = dpiX(Width  - 4)
      pbHeight = dpiY(Height - 4)

      [ ... ]

Re: [Modules] ListEx (all OS / DPI)

Posted: Wed May 11, 2022 2:15 pm
by Thorsten1867
Update:
  • New Scrollbars
  • New Timer for Cursor & Autoscroll

Re: [Modules] ListEx (all OS / DPI)

Posted: Wed May 11, 2022 7:07 pm
by Paul
Is there something that needs to be set to make the module DPI aware?

Re: [Modules] ListEx (all OS / DPI)

Posted: Wed May 11, 2022 10:29 pm
by Thorsten1867
Yes, I still have to find the rest of the bugs. ;-)

Re: [Modules] ListEx (all OS / DPI)

Posted: Thu May 12, 2022 1:49 pm
by Thorsten1867
Update:
  • New DPI management

Re: [Modules] ListEx (all OS / DPI)

Posted: Fri May 13, 2022 10:21 am
by captain_skank
Hi,

Does this module have varaible row heights ( for wordwrapping ? )

cheers

Re: [Modules] ListEx (all OS / DPI)

Posted: Fri May 13, 2022 10:23 am
by Thorsten1867
Update: Support for the "MarkdownModule.pbi" (#MarkDown)

Re: [Modules] ListEx (all OS / DPI)

Posted: Fri May 13, 2022 10:32 am
by Thorsten1867
captain_skank wrote: Fri May 13, 2022 10:21 am Does this module have varaible row heights ( for wordwrapping ? )
If the text contains #LF$, the text is output in multiple lines, if the line height is sufficient.

Re: [Modules] ListEx (all OS / DPI)

Posted: Fri May 13, 2022 2:30 pm
by Paul
Thorsten1867 wrote: Thu May 12, 2022 1:49 pm Update:
  • New DPI management
A little better but still not there yet ;)

You are able to select the column header half way into the next row.
And if you try to select an item from the bottom row, it selects an item 4 rows above it. The further away from the header to get the worse the selection. Seems DPI and scaling if not calculated into the row selection.

I'm guessing you're not testing with a 4K monitor?
I wasn't able to see all these DPI issues with my own software until I actually got a 4K monitor :(

Re: [Modules] ListEx (all OS / DPI)

Posted: Fri May 13, 2022 7:33 pm
by Thorsten1867
Update:
  • Added: Adjust row height (#AdjustRows)