Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Widgets - General questions or Mixed problems » Drop list is not shown
Re: Drop list is not shown [message #43934 is a reply to message #43927] Sat, 22 November 2014 13:37 Go to previous messageGo to previous message
Mindtraveller is currently offline  Mindtraveller
Messages: 917
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

In my opinion here we have fundamental problem with GUI routines. Calling the routine, you have no idea if it updates/refreshes the control. I'm sure you've also met this problem many times before U++. You most probably don't have this problem with U++ because you wrote this code yourself. Razz
In my opinion many GUI routines break one important rule called "No surprises!"
Bot how to achieve that?
More of that, how to achieve it without breaking existing code base?
So here is my proposal. Each public routine which actually updates/refreshes GUI state of control MUST have one last optional parameter. For example: Ctrl::Routine(..., bool updateControl = true).
Adding it you
1) give developer solid understanding if control is updated, not only it's internal state
2) make possible "batched" refreshments where control is updated once after a number of changes
3) give developer functionality to "break" possible dead-loops (our problem is an excellent example)
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Switch feature contribution + StaticText USC file correction
Next Topic: AK example and/or key_source bug?
Goto Forum:
  


Current Time: Thu Apr 25 04:15:05 CEST 2024

Total time taken to generate the page: 0.02987 seconds