On Wed, 16 Aug 2000, John Levon wrote:
> Here is an implementation of KDE FormUrl. The patch should apply
> maybe with a little fuzz, the other files go in the obvious places.
>
> I have some design queries and comments.
I'll answer a few now and try to get back to the others later.
> 1) As I pointed out, layout isn't handled by kdlgedit. So this
> doesn't use it. Is this OK ?
Is this the geometry stuff you were referring to for the copyright dialog?
[2&3 will have to wait till I have time to read the code and figure out
what you are talking about...]
> 4) I wasn't sure about using ButtonPolicies as i've not examined that code
> yet (STL still looks like line noise to me i'm afraid :()
With a vector implementation it should look like a two dimensional array.
You have to write your own version of ButtonController that works with
Qt/KDE buttons in the same manner that xforms/ButtonController.h does.
The STL code used is pretty simple. So just look at what ButtonController
does and don't worry about the implementation of ButtonPolicies. Just
worry about which button policy is appropriate for a given dialog.
Also don't feel that you _have_ to use the existing policies. If KDE has
different ideas about what an applicxation should do with its buttons then
maybe implement
> 5) I think that some of xforms/gtk update() and apply() are incorrect.
> Consider :
>
> b) open read-write document A
> a) open readonly document B
> c) click on a URL in B, readonly dialog opens up
> d) switch to A
> e) now updateBufferDependent calls our slot.
> f) this slot should set ro/rw parameters of the dialog
> as per the current inset being edited (if any), NOT
> the isReadOnly of lv_->buffer().
I'll have a look at this. I cleaned up some stuff but testing RO
operation is next on the list. Although that might have to wait a few
weeks as I have to finish rewriting two journal submissions and do LDN in
the meantime.
> The solution is to store on showInset()/createInset() a readonly bool.
> Both gnome/ and xforms/ frontends need this fix in multiple files ...
Or better yet try using a status variable as defined in
DialogBase.h. Even better would be to use the appropriate policy from
button policy. I'm thinking about adding a "list<FL_OBJECT> read_only;"
to ButtonController so that we can push all the widgets we want disabled
on a read-only status (or some other status as defined by the policy) into
the list and then not have to worry about handling de/activation
separately.
Allan. (ARRae)