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 » Community » PR, media coverage, articles and documentation » Working on new article...
Working on new article... [message #4541] Mon, 14 August 2006 23:53 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
We are now working on a new article for CodeProject with ari.

It should reimplement EyeCare wxWidgets example:

http://www.codeproject.com/library/wxwidgets.asp

If anybody has some time to spend, please check our (re)implementation (posted as attachment). Also it would be nice to know whether it behaves as much close to original as possible.

TrayIcon, timers and etc... quite tricky bussines... makes it an interesting example as well...

Mirek
Re: Working on new article... [message #4542 is a reply to message #4541] Tue, 15 August 2006 01:32 Go to previous messageGo to next message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
Oh! You were not lazy to really shorten the distance up to the nearly finnish... I'm sorry to employ you for that thing... Smile
Some notes:
Differences with the wxWidgets original:
1. Painting:
1.1 LabelBox, when it has not text, shows a gap.
Would you consider fixing it in U++ libs?
For me that is not important but for some folks with the argument about look...
1.2 You have removed my frame "hack" to show horizontal lines...
(Actually I had made a custom frame which I didn't send to you but I couldn't achieve the exact bottom line shadow...)
1.3. Positioning of the image: shows gaps between it and labelBox lines.
In my original version that was precise but only for DEBUG or Optimal. But not for both. The reason? Should some kind of images positioning be added to U++. Btw, I have another idea to introduce rounded tables in QTF...
2.Functionality:
2.1. Your introduced extra TopWindow for second app instance prevention shows on a windows task manager ( rect(-1.. ))(that's why I tried "selective initialization" with the same mainWindow) In a new version, when I tried to close it from task area with right click, something wrong happened: my laptop fan started blowing like crazy and computer responsivness became very very bad... But I will check, maybe a coincidence...
2.2 Why have you removed the minimize botton?

Btw, I didn't like in the Bolia's app Resing prevention with the resizing corner semi-functional...

I'll check for more...

[Updated on: Tue, 15 August 2006 01:33]

Report message to a moderator

Re: Working on new article... [message #4544 is a reply to message #4542] Tue, 15 August 2006 02:31 Go to previous messageGo to next message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
Hey! Twisted Evil You removed the hyperlink. Why? The wxW example spen 2 big files for this... Thanks to your U++ QTF, I used 1 line... Cool
Also, there should be some credits to Priyank Bolia and maybe a link to some "jokes"... Smile
Also, some typos and grammar should be corrected...

TODO? Registration for autostart?

Mirek, would mind to change the copyleft and add your name and instead of my e-mail a link to a forum?

[Updated on: Tue, 15 August 2006 02:50]

Report message to a moderator

Re: Working on new article... [message #4551 is a reply to message #4544] Tue, 15 August 2006 09:42 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
2.1 - can you work on that? so far I never encountered it.

Hyperlink - seemed to unfair to me Smile

Meanwhile, while sleeping, I have found myself to be idiot - the whole EyeCare class is completely useless.... removing it will remove all "connection" logic, making the code even more shiny...

Mirek

Re: Working on new article... [message #4554 is a reply to message #4551] Tue, 15 August 2006 11:06 Go to previous messageGo to next message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
luzr wrote on Tue, 15 August 2006 08:42

2.1 - can you work on that? so far I never encountered it.


fan problem: can't repeat. One guess - it coincided with the original Pryink's instance running. I've forgotten it's registered and auto started... Smile and/or some flash adverts from Opera.

Quote:


Meanwhile, while sleeping, I have found myself to be idiot - the whole EyeCare class is completely useless.... removing it will remove all "connection" logic, making the code even more shiny...
Mirek


Now, I feel a guilty idiot... Smile I didn't send my the very first attempt where I couldn't find the way to overcome private inheritance to open a window from TrayIcon... I felt that I was trying to get too much from U++... It's interesting what do you have in mind?

Re: Working on new article... [message #4556 is a reply to message #4554] Tue, 15 August 2006 11:59 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Much simpler solution is to avoid EyeCare derived from TrayIcon. Putting TrayIcon as main window member variable is all that is needed, with the advantage that all that tedious connection code (like WhenConfig) is avoided.

I will post fixed app soon. Just have to study that startup registration code a bit...

Mirek
Re: Working on new article... [message #4558 is a reply to message #4556] Tue, 15 August 2006 12:21 Go to previous messageGo to next message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
luzr wrote on Tue, 15 August 2006 10:59

Much simpler solution is to avoid EyeCare derived from TrayIcon. Putting TrayIcon as main window member variable is all that is needed, with the advantage that all that tedious connection code (like WhenConfig) is avoided.


Mirek


Yes, I had that in mind, too. But then decided to try the case I sent you.
Also, I thought about timers in designer selectable for layout dialogs... like in WideStudio... Smile
Also, I wanted to use multiple inheritance... Wouldn't that possible or useful for this example. If not, why?
I think, those choices and considerations would be interesting and useful to mention with some kind of analysis for U++ users. I find the example a very rich source for several tutorials...
And Matt and Luigi are very good editors... Smile
Re: Working on new article... [message #4562 is a reply to message #4558] Tue, 15 August 2006 12:41 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Quote:


Also, I thought about timers in designer selectable for layout dialogs... like in WideStudio... Smile



Not a good idea. Keep visual design to be design of visual things. Timers are code thing.

Quote:


Also, I wanted to use multiple inheritance... Wouldn't that possible or useful for this example. If not, why?



What would be base classes? TrayIcon and WithEyeCareLayout<TopWindow> ? That would result in some serious name clashes I am afraid...

Quote:


I think, those choices and considerations would be interesting and useful to mention with some kind of analysis for U++ users. I find the example a very rich source for several tutorials...



Well, as it is quite untypical piece of code to me, it is a nice source for U++ design too Wink

Mirek
Re: Working on new article... [message #4564 is a reply to message #4541] Tue, 15 August 2006 14:23 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Important note: Before you start the article or to make childish jokes again, please read carefuly this thread:

http://wxforum.shadonet.com/viewtopic.php?t=258&highligh t=ultimate

So be careful. Our final aim is not to piss off people, but to make them try U++...

Mirek
Re: Working on new article... [message #4565 is a reply to message #4564] Tue, 15 August 2006 15:28 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Here it goes...

Please check, should be complete...
  • Attachment: EyeCare.zip
    (Size: 8.87KB, Downloaded 2061 times)
Re: Working on new article... [message #4590 is a reply to message #4565] Wed, 16 August 2006 01:20 Go to previous messageGo to next message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
luzr wrote on Tue, 15 August 2006 14:28

Here it goes...

Please check, should be complete...


Well, what can I say...
Mozart of C++! (M.Fidler) Smile
Re: Working on new article... [message #4600 is a reply to message #4564] Wed, 16 August 2006 11:15 Go to previous messageGo to next message
exolon is currently offline  exolon
Messages: 62
Registered: July 2006
Location: 53'21N 6'18W
Member
luzr wrote on Tue, 15 August 2006 13:23


So be careful. Our final aim is not to piss off people, but to make them try U++...

Mirek

To be fair, the posts there seemed to take things very personally and weren't really impartial, an attitude I haven't seen on the upp forums or in the comparison pages. But perhaps we should request an optimised version of comparison code on the 'official' forums for each framework we compare, to comply with this (not sure if it was a request or simply a negative statement):
Jorg wrote at http://wxforum.shadonet.com/viewtopic.php?t=258#1708

To make a long debate short... if they really want to show how their code is compared to other toolkits, they should play it fair Wink if they don't, I don't put any value to comparisons ...

It's easy to say "your comparison wasn't fair because you optimised your code and stripped comments, and the code from our toolkit was old. Therefore there's no indication of whether your toolkit is good or not", so we should do what we can to counter such a statement fairly and prevent upp being overlooked out of some feeling of insult in future.

[edit]
Well, I noticed that post was quite old itself. Maybe attitudes have changed since then...

[Updated on: Wed, 16 August 2006 11:16]

Report message to a moderator

Re: Working on new article... [message #4601 is a reply to message #4600] Wed, 16 August 2006 11:23 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Quote:


Well, I noticed that post was quite old itself. Maybe attitudes have changed since then...


Yes, when I am speaking about experiences, I am speaking about this.

Although I do not think that previous "comparisons" were unfair. OK, I missed one comment to remove in wxWidgets code and there was not that gently "disclaimer" page before the comparison. But I never said that wxWidgets or Qt or Jave is a joke Wink

BTW, interesting fact is the complaint about code not being equivalent. Later, when "testing" with other people, I have found that the most likely reason they thought that is that they simply missed that changeing the play area size, which took significant portion of code in wxWidgets code and is very compact in U++ thanks to THISBACK1 callbacks... (but I might have missed something else too).

Mirek
Re: Working on new article... [message #4602 is a reply to message #4601] Wed, 16 August 2006 12:05 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

luzr wrote on Wed, 16 August 2006 05:23


Although I do not think that previous "comparisons" were unfair.


I have an impression (after reading many similar posts) that people when once got used to some freamwork even if they know that something new exsists and it's better (much better if we speak about upp Wink ) they will nver admit that loudly. What's more they try to convince themselves that their framework is still better and worth to stay with. I'm not able to say why it happens. I think it's some kind of need to be on top - my framework is the best and widely used so I am great programmer and my apps are cool. So if something really good appears suddenly they automaticaly comprers their framework in a way to show it as a better solution. That's why they talk about comments, unfair optimizations etc.. they just look for arguments whatever quality they are to prove that wxwidgets are still cool. That's my hubmle analysis Smile

[Updated on: Wed, 16 August 2006 12:08]

Report message to a moderator

Re: Working on new article... [message #4604 is a reply to message #4602] Wed, 16 August 2006 15:18 Go to previous messageGo to next message
exolon is currently offline  exolon
Messages: 62
Registered: July 2006
Location: 53'21N 6'18W
Member
unodgs wrote on Wed, 16 August 2006 11:05

So if something really good appears suddenly they automaticaly comprers their framework in a way to show it as a better solution. That's why they talk about comments, unfair optimizations etc.. they just look for arguments whatever quality they are to prove that wxwidgets are still cool. That's my hubmle analysis Smile


Definitely - I think it's an unfortunately natural tendency in us humans; we feel a bit uncomfortable when confronted with a maybe better but different way of doing something we're already good at, and rather than consider "hey, I can do this, but it will require effort to see if it's really better or worse, and I'll be starting almost from scratch again", it's too easy to unconsciously sabotage your thinking and label it as inferior and a waste of time to save ourselves the effort.

I know I've done it many times, but it's important to be aware of it happening and to dismiss such thoughts and force yourself to be more impartial and objective. Nobody likes to stay stuck in a rut, but sometimes we drift into one without realizing and get comfortable.
Equally, we should have no shame in saying "that's done much better in VCF/wxWidgets/FOX/etc" and taking those ideas and sharing our own good ideas.
As long as we remember nothing is perfect and there's always something new to learn (and that no GUI toolkit is an "enemy" of another!), anything is possible Smile
Re: Working on new article... [message #4606 is a reply to message #4604] Wed, 16 August 2006 16:41 Go to previous messageGo to next message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
I can understand any people who are using any toolkits... but wxWidgets?... Smile
Re: Working on new article... [message #4656 is a reply to message #4590] Fri, 18 August 2006 09:35 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
fudadmin wrote on Tue, 15 August 2006 19:20

luzr wrote on Tue, 15 August 2006 14:28

Here it goes...

Please check, should be complete...


Well, what can I say...
Mozart of C++! (M.Fidler) Smile



There seem to be a bug in EyeCare (and couriously, exactly the same bug in wxWidgets version Smile - they both refuse to uninstall on my XP machine.

Working on it.

Mirek
Re: Working on new article... [message #4660 is a reply to message #4656] Fri, 18 August 2006 10:07 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
OK:

void EyeCare::Exit()
{
Break();
trayicon.Break();
#ifdef PLATFORM_WIN32
HKEY hkey;
if(RegOpenKeyEx(HKEY_CURRENT_USER, regpath, 0, KEY_ALL_ACCESS, &hkey) == ERROR_SUCCESS) {
RegDeleteValue(hkey, regname);
RegCloseKey(hkey);
}
#endif
}

(RegDeleteValue instead of Key)

Mirek
Re: Working on new article... [message #4844 is a reply to message #4660] Wed, 23 August 2006 13:35 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Any progress?

Mirek
Re: Working on new article... [message #4846 is a reply to message #4844] Wed, 23 August 2006 13:50 Go to previous messageGo to previous message
fudadmin is currently offline  fudadmin
Messages: 1321
Registered: November 2005
Location: Kaunas, Lithuania
Ultimate Contributor
Administrator
luzr wrote on Wed, 23 August 2006 12:35

Any progress?

Mirek


Unsuccesfully trying to get some doxygen functionality in topic++.. Smile

But mostly wasting time with one Topic++ annoying feature:
"Insert code".
(It adds those extra variables which I don't need!)

Or, please, tell my how to insert colorized code from files into tables side by side?
Previous Topic: A Few observations on U++ (lack of) documentation
Next Topic: Linux releases...
Goto Forum:
  


Current Time: Fri Mar 29 07:50:30 CET 2024

Total time taken to generate the page: 0.02089 seconds