Professional UI Solutions
Site Map   /  Register


Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » CExtPropertyCategory / CExtPropertyStore feature request Collapse All
Subject Author Date
Nathan Explosions Jun 9, 2007 - 1:26 AM


If possible, please consider my request.

It would be great, if you could add the support of the third state (grayed out check) for the checkbox, which can be set to the left of the CExtPropertyCategory item and set this state in the CExtPropertyStore::Combine() method if combined stores have equal categories, but their checkbox states differ.

Thank you.

Malcolm D Jul 11, 2007 - 6:57 PM

I have already started using the input enabled check boxes, which are like a property for me. E.g. does the user override a certain value, or "do we actually have this property" - I hope this gives you a further idea of the intent of this feature - ask we for more if you don’t quite understand it.

I am planning to use the check boxes in store (i.e. CExtPropertyStore) to be able to edit multiple at the same time. It would be good if the input enabled check boxes behaved well in his case. For example, if for one item the input was disabled, and for the matching item in the other store if the item was enabled, then I would like the input enabled check to be in an indeterminate state. I’m not sure whether I would allow input if in an indeterminate state though.

I think this is included in what Nathan is asking for, and I think it would be useful as well. I think this helps "fill out" this feature, which I think is useful ( obviously since I asked for it)


Nathan Explosions Jun 22, 2007 - 2:43 AM

Please reply. This functionality has become very important for the project I am working on.

Technical Support Jun 25, 2007 - 1:55 PM

We are sorry, but the "Input Enabled" check boxes is an experimented feature delivered by request of one of our customers user only. We will develop it in one of the next versions and keep in mind your request.

Nathan Explosions Jun 14, 2007 - 7:16 AM

Please forgive me for wrong interpretation of your words and for my discrepancy. I will try to explain myself better in this message.

It’s great, that checkboxes, related to grid cells support the 3rd state, I actually use this functionality a lot, but at the moment I am concerned with the CExtPropertyCategory and it would be great, if its checkbox could also be set to this 3rd state.

It would be even better, if the use of this state would be limited and used only by the CExtPropertyStore::Combine() method, so any consecutive clicks, which follow the setting of the 3rd state in the CExtPropertyStore::Combine() method, on the checkbox would be interpreted as usual clicks (only the modified and unmodified states would be possible).

I believe that there is no necessity in CExtPropertyGridCtrl redesign in this case.

For example, if the CExtPropertyStore::Combine() method combines two property stores, both of which have a category "MyCategory" with a checkbox and the states of these categories' checkboxes differ, this method could set some kind of inner flag / style / something else for the CExtPropertyCategory or CExtPropertyCategory's CExtPropertyGridWnd, which would be used only by method, which draws the checkbox to show the 3rd state (if it is needed) until a user clicks the checkbox.

I think, that the 2 values, which are supported by property value, should suffice, since in this case the 3rd state may be treated as an active state (for example), so when user clicks on the checkbox, which was set to the 3rd state, it changes its state to initial / unmodified (of course, the ::SetCheck() method or inner method, which sets the checkbox’s state manually (if there is such a method) should reset the inner flag / style / something else in this case).

Also, I personally have no use for checkboxes, nested from the CExtPropertyCategory item, so it would be fine, if the 3rd state would be set if and only if the CExtPropertyGridWnd::m_bInputEnabledNestedFlags, pointing to an area, occupied by category item, would be false.

Please forgive me once more for not being clear and pray tell me, if it would be possible to implement the described functionality.

Nathan Explosions Jun 13, 2007 - 7:33 AM

> But we can make a check box displaying undefined check state initially if the source property values have different check box states.
It would be great, since that is what I actually need.

Thank you.

Technical Support Jun 14, 2007 - 4:24 AM

We are sorry for providing a bit incorrect answer. The check boxes in the property grid in Prof-UIS 2.70 already support the initial indeterminate state when the source check boxes have a different checked state. You can check this in the CompoundProperties (the Font/Bold part of the compound property value) and PropertyGrid (the RotationClockwise property value) sample applications.

Technical Support Jun 11, 2007 - 4:01 AM

Your feature request sounds reasonable but it requires a serious redesign of the property grid control. Currently each property value supports two real values: default and active. In other words, each property value can be in two states: default/initial/unmodified state and modified state. The 3-state check box cannot be implemented for a combined property store in the current version of the property grid control because when the state of a combined check box state changes, the all the source check box states change synchronously, i.e. the previous unmodified check box states for all the source check boxes get lost.

Nathan Explosions Jun 12, 2007 - 11:20 AM

I see... If I may ask, maybe in this case you can implement just a 3-state checkbox and add a method for setting / unsetting the 3rd state to the CExtPropertyCategory or modify the SetCheck() method a bit, which will affect only the way the checkbox is painted and let the users take care of everything else?

This way the CExtPropertyCategory class would become much handier.

Thanks for your attention.

Technical Support Jun 13, 2007 - 3:47 AM

A 3-state check box is supported in Prof-UIS. The problem has nothing to do with it. The real source mechanism is in the way of applying the checked/unchecked state of the check box of the compound property value. When we check/uncheck a check box in it, all the dependent source property values become checked/unchecked and the previous states these check boxes get lost. We simply have no data to restore the original check box states in all the source property values. But we can make a check box displaying undefined check state initially if the source property values have different check box states.