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!
Investigate why.
eg
xm, ym - not normally supported - support if gui parented.
Center - If Absolute w/h, then allow positioning of gui based on center point
Regardless of Scrollbar implementation, a Gui should know it's size and the size of it's contents.
Hiding an object should free up it's use of Range and update scrollbars appropriately.
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.
If you scroll the window, the child thinks it moves.
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.
Need to override default MessageHandler logic for this handler?
Bug caused by commit just about to happen.
AdjustToChild / AdjustToParent system in general needs work.
The arrow buttons at the ends of the scroll bars are not wired up
Some kind of problem in _OnWheel with current hwnd detection
eg x50%+10
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?
If you drag a child window Up / Left outside a paren't Page, the Range grows, but no scrollbars show.
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?
Effectively, implement AUTOXYWH / Anchor type scaling.
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.
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
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.
Clicking above / below scrollbars should scroll a page
For non-percent positioned items, if show is not at start, scrollbars calculate in screwy orders.
Once you grow a parent RangeRECT, you can never shrink it.
Seems fine for child windows, but bounces around slightly for main window (some other code is kicking in? move?)
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.
initialize coords to -1, -1?
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.
Latest fixes broke size-scrolling
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
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?
main example does not work!
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.