Re: Adjustment problem



Amadeus, if you just setup jhbuild, it pulls everything from source
repositories. After its built everything, you can apply the patch to
the gtkmm tree with something like:

patch -p0 < adjustment.patch

And recompile.

On 10/31/06, Amadeus W.M. <amadeus84 verizon net> wrote:
Thanks for the patch. Exactly what version of gtk+ did you use?
And in what directory do I have to be to apply the patch? I have to worry
about these things, don't I?

Also, from what you're saying about gtk's adjustment, it seems that there
are two sets of data for the same piece of information. Can't one set of
variables be defined by reference, like so:

double & value;

and initialized as the corresponding variable from the other set:

value(corresponding_variable_in_other_set)


Or am I thinking C++ here? In C++ value would be initialized in the
constructor. Not sure it's doable in C. If it is though, I think no other
changes would be necessary. Changing the values in one set would be seen
transparently by the other set. Or maybe the data members of adjustment
and the properties are deliberately kept distinct?

Am I making any sense?




On Tue, 31 Oct 2006 14:24:44 -0600, Paul Davis wrote:

> Here is a working patch.  Although, really its more of a work around.
> Someone should ask on the gtk list whats going on with this class.
> Its kind of schizophrenic.  The GtkAdjustment structure contains six
> member variables that are also listed as properties. Murray might know
> better, but I've been under the impression that properties are stored
> and retrieved using functions that operate on the gobject.
>
> Ie, the value, lower, upper, et al values are stored as *both*
> properties and structure member variables.
>
> What appears to be happening, is that when gtkmm instantiates an
> Adjustment, the property values are set correctly, but not the
> structure member variables, but when other gtkmm objects access the
> adjustment properties, they're accessing the structure values..... (I
> think)
>
> Anyway, this patch seems to fix things.
>
> Amadeus, I don't think jhbuild does rpms. I'm not sure how that
> process works.  Although, I imagine that it wouldn't be too hard to
> apply these changes to an existing source tree and repackage because
> no files are created or destroyed.
>
> And it should be abi compatible too. I think...
>
> Paul
>
> PS, Murray, do you some nifty program to do your change log editing?
>
> On 10/31/06, Amadeus W.M. <amadeus84 verizon net> wrote:
>> On Tue, 31 Oct 2006 13:52:09 -0600, Paul Davis wrote:
>>
>> > I think I've got a patch thats compiling right now, but I'll have to
>> > wait and see.
>>
>> Excellent!
>>
>> >
>> > I recommend building using jhbuild, it makes everything pretty simple,
>> > the first build takes awhile cause it builds all the dependancies it
>> > needs, but its fairly automatic.
>> >
>>
>> Can I make rpms after it compiles with jhbuild? I've never used it.
>> I'll probably try to get a .spec file from existing src.rpms and see if I
>> can do it that way.
>>
>>
>> > I'll let you know when this is done if it worked
>> >
>> > Paul
>> >
>> > PS I wasn't paying to much attention to gmail's outgoing message format, my bad.
>> >
>>
>> No problem.
>>
>>
>>
>> _______________________________________________
>> gtkmm-list mailing list
>> gtkmm-list gnome org
>> http://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
> ? adjustment.patch
> ? MSVC_Net2003/examples/printing/Makefile
> ? MSVC_Net2003/examples/printing/Makefile.in
> ? examples/arrow/.deps
> ? examples/book/drag_and_drop/.deps
> ? examples/book/drag_and_drop/.libs
> ? examples/book/drawingarea/arcs/.deps
> ? examples/book/drawingarea/arcs/.libs
> ? examples/book/drawingarea/clock/.deps
> ? examples/book/drawingarea/clock/.libs
> ? examples/book/drawingarea/curve/.deps
> ? examples/book/drawingarea/curve/.libs
> ? examples/book/drawingarea/joins/.deps
> ? examples/book/drawingarea/joins/.libs
> ? examples/book/drawingarea/simple/.deps
> ? examples/book/drawingarea/simple/.libs
> ? examples/book/helloworld/.deps
> ? examples/book/helloworld/.libs
> ? examples/book/helloworld2/.deps
> ? examples/book/helloworld2/.libs
> ? examples/book/iconview/.deps
> ? examples/book/iconview/.libs
> ? examples/book/printing/advanced/.deps
> ? examples/book/printing/advanced/.libs
> ? examples/book/printing/simple/.deps
> ? examples/book/printing/simple/.libs
> ? examples/book/timeout/.deps
> ? examples/book/timeout/.libs
> ? examples/book/treeview/listviewtext/.deps
> ? examples/book/treeview/listviewtext/.libs
> ? examples/book/treeview/popup/.deps
> ? examples/book/treeview/popup/.libs
> ? examples/book/update_ui/.deps
> ? examples/book/update_ui/.libs
> ? examples/calendar/.deps
> ? examples/dnd/.deps
> ? examples/dnd/.libs
> ? examples/exception/.deps
> ? examples/exception/.libs
> ? examples/gdk/.deps
> ? examples/rulers/.deps
> ? examples/statusbar/.deps
> ? examples/stock/.deps
> ? examples/stock/.libs
> ? examples/tictactoe/.deps
> ? examples/window/.deps
> ? tools/extra_defs_gen/.deps
> ? tools/extra_defs_gen/.libs
> Index: ChangeLog
> ===================================================================
> RCS file: /cvs/gnome/gtkmm/ChangeLog,v
> retrieving revision 1.586
> diff -u -p -r1.586 ChangeLog
> --- ChangeLog 11 Oct 2006 13:37:01 -0000      1.586
> +++ ChangeLog 31 Oct 2006 20:17:32 -0000
> @@ -1,3 +1,9 @@
> +2006-10-31  Paul Davis  <pjdavis engineering uiowa edu>
> +
> +     * gtk/src/adjustment.hg
> +     * gtk/src/adjustment.ccg: Unwrapped the constructor so that I could
> +     set the GtkAdjustment structure variables by hand.
> +
>  2006-10-11  Murray Cumming  <murrayc murrayc com>
>
>       * docs/tutorial/gtkmm-tut.xml: Added an appendix describing the optional
> Index: gtk/src/adjustment.ccg
> ===================================================================
> RCS file: /cvs/gnome/gtkmm/gtk/src/adjustment.ccg,v
> retrieving revision 1.2
> diff -u -p -r1.2 adjustment.ccg
> --- gtk/src/adjustment.ccg    15 Dec 2005 16:32:14 -0000      1.2
> +++ gtk/src/adjustment.ccg    31 Oct 2006 20:17:33 -0000
> @@ -24,6 +24,22 @@
>  namespace Gtk
>  {
>
> +Adjustment::Adjustment(double value, double lower, double upper, double step_increment, double page_increment, double page_size)
> +:
> +  Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
> +  Gtk::Object(Glib::ConstructParams(adjustment_class_.init(), "value", value, "lower", lower, "upper", upper, "step_increment", step_increment, "page_increment", page_increment, "page_size", page_size, (char*) 0))
> +{
> +     gobj()->value = value ;
> +     gobj()->lower = lower ;
> +     gobj()->upper = upper ;
> +     gobj()->step_increment = step_increment ;
> +     gobj()->page_increment = page_increment ;
> +     gobj()->page_size = page_size ;
> +
> +}
> +
> +
> +
>  void Adjustment::set_lower(double lower)
>  {
>    gobj()->lower = lower;
> Index: gtk/src/adjustment.hg
> ===================================================================
> RCS file: /cvs/gnome/gtkmm/gtk/src/adjustment.hg,v
> retrieving revision 1.4
> diff -u -p -r1.4 adjustment.hg
> --- gtk/src/adjustment.hg     15 Dec 2005 16:32:16 -0000      1.4
> +++ gtk/src/adjustment.hg     31 Oct 2006 20:17:33 -0000
> @@ -60,7 +60,7 @@ public:
>     * @param page_increment The page increment
>     * @param page_size The page size
>     */
> -  _WRAP_CTOR(Adjustment(double value, double lower, double upper, double step_increment = 1, double page_increment = 10, double page_size = 0), gtk_adjustment_new)
> +   Adjustment(double value, double lower, double upper, double step_increment = 1, double page_increment = 10, double page_size = 0) ;
>
>    _WRAP_METHOD(void changed(), gtk_adjustment_changed)
>    _WRAP_METHOD(void value_changed(), gtk_adjustment_value_changed)
> _______________________________________________
> gtkmm-list mailing list
> gtkmm-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtkmm-list


_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
http://mail.gnome.org/mailman/listinfo/gtkmm-list




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