Page 1 of 1

wxPropertyGrid

Posted: Sat Oct 23, 2004 5:28 pm
by jms
wxPropertyGrid is a specialized two-column grid for editing properties such as strings, numbers, flagsets, string arrays, and colours. wxPropertySheet used to do the very same thing, but it hasn't been updated for a while and it is currently deprecated.

Below is a link to a simple web site I have created for this project.

http://wxpropgrid.sourceforge.net/

Source archive has a lot of doxygen generated documentation (main page has examples of use, lists of issues, bugs, todo, etc), so look there first for more information.

So far, wxPropertyGrid has been tested with Windows and GTK platforms (2.0 works ok, 1.2 is hanging in there). Mac OS X and Windows CE are reported to work without huge problems.

Of course, I'll appreciate any feedback.

EDIT: Removed version numbers, wxPython bindings, Mac OS X and Windows CE were reported to run.

Posted: Sat Oct 23, 2004 6:04 pm
by Jorg
This really looks awesome and is very welcomed by guys who create a GUI designer and the likes... It so happens that the guys from CMake need something like that to recreate the CMakeSetup for MSW, Linux (it also uses wxWidgets) ..

Great work!!

- Jorgen

Posted: Sun Oct 24, 2004 12:15 am
by eros
Great!

Keep up the good work. :D

Posted: Sun Oct 24, 2004 5:32 am
by tierra
Excellent work!

Posted: Sun Oct 24, 2004 8:15 am
by jms
This really looks awesome
Thanks, but the colours and layout are pretty much 1:1 copy of .NET propertygrid :)
It so happens that the guys from CMake need something like that to recreate the CMakeSetup for MSW
Well, it sure would be great if they'd give wxPropertyGrid a try!

Posted: Sun Oct 24, 2004 8:30 am
by Jorg
Thanks, but the colours and layout are pretty much 1:1 copy of .NET propertygrid
So what ? It looks great! I modelled wxTreeMultiCtrl after the property tree control after the thunderbird / mozilla property sheet ..
Well, it sure would be great if they'd give wxPropertyGrid a try!
I informed Bill Hoffman from kitware who contacted me a while ago to ask for help. Unfortunately right now I don't have the time for that. But he will surely be helped with this I am sure!

- Jorgen

Posted: Sun Oct 24, 2004 5:09 pm
by tierra
Jorg wrote:So what ? It looks great! I modelled wxTreeMultiCtrl after the property tree control after the thunderbird / mozilla property sheet ..
I was pretty sure I hadn't seen anything like it except in Mozilla, I've kinda been wondering about that for a while, but not enough to bother to ask... =)

Posted: Tue Nov 23, 2004 11:48 am
by jms
This is for everybody who has atleast tried to use wxPropertyGrid in their own application:

Since it is now possible that wxPropertyGrid becomes part of wxAdv, I really would want some feedback about the API. Does it feel consistent with other wx controls? Is it too clumsy? Is it practical in real-world applications? In what way it could be better?

If you anything to say about it, please e-mail me (as this thread is not really the right place for that kind of stuff).

Thanks!

Posted: Tue Nov 23, 2004 12:06 pm
by Jorg
Just out of curiousity.... is there no "danger" that the .NET variant (to which it has a strong resemblance) is copyrighted or patented by Micro$oft ? If this is part of a standard win32 control set it will probably not, but just a thought ...

- Jorgen

Posted: Tue Nov 23, 2004 12:30 pm
by jms
PropertyGrid is part of the standard .NET control library.

I have no idea if it is protected by a copyright or not, but in the past there have been other very similar controls. For example, change colors and don't use of categories, and you'll have the same propertysheet control as in Borland's Delphi and C++ Builder.

Basicly at this point, it is a simple matter of appearance modification, if necessary. Later, if I add help box and toolbar for mode/page selection... well, then I think Microsoft could clearly say "Hey, you copied our stuff! Cease and Desist!".

But then again, free, open-source Mono project should also have the standard .NET control set, and they are copying much more than a single control!

BTW, I chose to emulate .NET control since this is the closest I can get to a 'native' Windows propertysheet. This way wx apps using it will look more like future native Windows apps (since .NET is the future Windows API).

Posted: Tue Nov 23, 2004 12:54 pm
by Jorg
Well I totally agree. I do not like M$'s latest tricks with their IP war against the government of Taiwan, where they will sue then when they step over to Linux (because linux should 'probably' have as much as 200+ patent or IP violations). The last thing I would like is M$ toning down wxWidgets because it contains that kind of stuff. But indeed, I don't think that will happen.

By the way, my wxFoldBar is also slightly modelled after the Outlook 2003 task fold bar. I need to redesign it, but I am having so many side projects right now that I cannot even get to my most regular tasks.

Luckily I have a laptop now so I can fiddle around some in my 'lost' moments .. your efforts are really great, with controls like this wxWidgets will look more and more professional!

- Jorgen

Posted: Wed Nov 24, 2004 8:35 am
by jms
your efforts are really great, with controls like this wxWidgets will look more
and more professional!
:)

Well, if my efforst are really great, its hard to come up with a good adjective for your efforts (and not even speaking of the core developers).

The amount of time people invest in open source development never ceases to amaze me...

Posted: Sat Apr 29, 2006 3:25 pm
by Jere_Jones
This control was exactly what I have been looking for. Outstanding work!

I only have one issue: If a parent property has a password as a child, the password is shown in the parent property's text block. My correction for this was to insert the following code at line 1444 in propgrid.cpp:

Code: Select all

if (curChild->m_flags & wxPG_STRING_PASSWORD)
	s = wxString(wxChar('*'), s.Length());
This replaces the password with asterisks. Can you think of any side effects to this change that may be "less than optimal"?

Again, thanks for an outstanding control!

Jere

Posted: Sat Apr 29, 2006 4:18 pm
by Jere_Jones
I should have tested that a little more before I posted it. Here is a working version:

Code: Select all

if ((curChild->GetClassName() == wxString("wxStringProperty")) && (curChild->m_flags & wxPG_PROP_PASSWORD))
	s = wxString(wxChar('*'), s.Length());
Jere

Posted: Tue May 02, 2006 3:19 pm
by jms