octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Patches for escalated value setting in base_property and autopositioning


From: logari81
Subject: Patches for escalated value setting in base_property and autopositioning of labels in fltk
Date: Wed, 08 Dec 2010 16:54:50 +0100

Hi all,

I have recently started seeking ways for implementing the "tightinset"
property in the fltk backend. Though, before I can do any progress on
this issue, there is a bug with title and labels positioning which has
to be fixed.

Currently running
xlabel('x label', 'rotation', 90)
with the fltk backend will have no effect on the orientation of the
xlabel.

In order to fix this bug it is necessary to distinguish when the
position/rotation of a text object is explicitly set by the user, so
that the auto-positioning is correspondingly disabled.

I haven't found a way to mark a property as set by the user or set by
octave, so I decided to extend the base_property object with a flag
named "weak" which can be used to distinguish if a property is set
"weakly", for example when its value is guessed by octave, or
"strongly", for example when it is set explicitly by the user. The
implementation of the corresponding infrastructure is included in the
first changeset: "base_property_weak.changeset". Any other suggestions
are more than welcome.

Based on this first patch the problem with the unwanted auto-positioning
of titles and axes labels is fixed in the second changeset:
"disable_label_autoposition.changeset".

I know that it is quite radical to modify the base_property object, but
I think it is preferable than using individual flags and hacks in order
to distinguish if a property was set by the user or by octave itself. If
I missed an existing way of doing it simply, please let me know. If this
is not the case, I think that the new infrastructure provided in the
first changeset can be exploited in many other similar cases in the
future.

Looking forward to your feedback.

Kostas

Attachment: base_property_weak.changeset
Description: Text document

Attachment: disable_label_autoposition.changeset
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]