evilc / cgui Goto Github PK
View Code? Open in Web Editor NEWA wrapper for AHK's GUI functionality, Experimental!
A wrapper for AHK's GUI functionality, Experimental!
eg
xm, ym - not normally supported - support if gui parented.
Center - If Absolute w/h, then allow positioning of gui based on center point
eg x50%+10
Think it is because it is before parent is showing, which is tripping the "if no hwnd found, use hwnd of parent" code?
whole "if no hwnd found, use hwnd of parent" system seems wrong.
Is it to do with the architecture of the demo, or some other bug?
Currently, checks sizes of all children each time, even if they have not changed?
Set change flag to accelerate?
main example does not work!
Replication:
demo - multiple scrollbars.ahk (this commit known to exhibit: https://github.com/evilC/CGui/blob/f2da6d216ea72befa0f797e5115e2c8c7c72d5e8/demo%20-%20multiple%20scrollbars.ahk)
move scrollbars of child windows
resize main window
child window(s) scrollbars reset to top left
Bug caused by commit just about to happen.
AdjustToChild / AdjustToParent system in general needs work.
Hiding an object should free up it's use of Range and update scrollbars appropriately.
Only one lot of code is needed to calculate scrollbar size given a parent size and a child size...
_ScrollBarClientSized = Normal resize routine - Just adjust the scrollbars.
This performs scrollbar calc
_ScrollBarGuiSized= If scrollbar(s) all the way at the end and you size up, child needs to be scrolled in the direction of the size up.
This also performs scrollbar size calc
work out if they need to be separate, and if not, merge.
Some kind of problem in _OnWheel with current hwnd detection
When you scroll around, the scrollbar struct coordinates are those of the last update.
Also, when you finish scrolling at one end of a scrollbar, the position does not read 0
As above; CGui v2.ahk depends on _Struct.ahk and sizeof.ahk, but the versions of those scripts which it links to are not compatible with AutoHotkey v2. I suppose it should link to the ahkv2
branch rather than the master
branch.
Regardless of Scrollbar implementation, a Gui should know it's size and the size of it's contents.
Even if you drag size up until scrollbars dont show, then size back down, they show again.
Vars only getting initted at start? Check made on var that is not initted?
Latest fixes broke size-scrolling
Seems fine for child windows, but bounces around slightly for main window (some other code is kicking in? move?)
For non-percent positioned items, if show is not at start, scrollbars calculate in screwy orders.
If you scroll a scrollable window with the mouse wheel, you can scroll "too far", resulting in not being able to scroll to all parts of the child window.
The arrow buttons at the ends of the scroll bars are not wired up
Investigate why.
Once you grow a parent RangeRECT, you can never shrink it.
Effectively, implement AUTOXYWH / Anchor type scaling.
If you scroll the window, the child thinks it moves.
If adding items to a vertical list with w50%, as the first item to overflow the viewport is added, scrollbars appear and the available size changes.
Is this possibly a result of checking the wrong value - if detected size without scrollbars at that point, would work same?
If you drag a child window Up / Left outside a paren't Page, the Range grows, but no scrollbars show.
For percent-positioned items, show needs to be at start, and absolute sizes of parents set(or they already know their size when the child is added), else items cannot work out a percentage of an unknown value.
Possibly merge New and Show into one item? Possible to merge items for show into new and have new call show automatically?
Would need to be able to remove keys from the options object before serialization.
Clicking above / below scrollbars should scroll a page
If you size down the Gui so the parent's PageRECT does not encompass the child's WindowRECT, scrollbars do not appear.
Grabbing the Child and moving it slightly will cause the scrollbars to appear.
initialize coords to -1, -1?
Need to override default MessageHandler logic for this handler?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.