[glabels/vala] Hookup object size and position properties to object editor.
- From: Jim Evins <jimevins src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glabels/vala] Hookup object size and position properties to object editor.
- Date: Thu, 22 Mar 2012 03:09:07 +0000 (UTC)
commit c1d5e24b9612f02a6b9ae15f85afa5fa4da21ea8
Author: Jim Evins <evins snaught com>
Date: Wed Mar 21 23:02:05 2012 -0400
Hookup object size and position properties to object editor.
glabels/label_object.vala | 28 ++++++++++++++++++++++++++++
glabels/object_editor.vala | 43 +++++++++++++++++++++++++++++++++++++++++--
2 files changed, 69 insertions(+), 2 deletions(-)
---
diff --git a/glabels/label_object.vala b/glabels/label_object.vala
index 7b78618..79fd089 100644
--- a/glabels/label_object.vala
+++ b/glabels/label_object.vala
@@ -593,6 +593,34 @@ namespace glabels
}
+ public void set_w_honor_aspect( double w )
+ {
+ double h = w * aspect_ratio;
+
+ if ( ( _w != w ) || ( _h != h ) )
+ {
+ _w = w;
+ _h = h;
+
+ changed();
+ }
+ }
+
+
+ public void set_h_honor_aspect( double h )
+ {
+ double w = h / aspect_ratio;
+
+ if ( ( _w != w ) || ( _h != h ) )
+ {
+ _w = w;
+ _h = h;
+
+ changed();
+ }
+ }
+
+
public LabelRegion get_extent()
{
double xa1 = - line_width/2;
diff --git a/glabels/object_editor.vala b/glabels/object_editor.vala
index 967d3aa..c273578 100644
--- a/glabels/object_editor.vala
+++ b/glabels/object_editor.vala
@@ -267,6 +267,12 @@ namespace glabels
private void on_selection_changed()
{
+ if ( object != null )
+ {
+ object.moved.disconnect( on_object_moved );
+ object.changed.disconnect( on_object_changed );
+ }
+
if ( label.is_selection_atomic() )
{
object = label.get_1st_selected_object();
@@ -305,6 +311,9 @@ namespace glabels
title_label.set_sensitive( true );
notebook.show();
+
+ object.moved.connect( on_object_moved );
+ object.changed.connect( on_object_changed );
}
else
{
@@ -355,6 +364,20 @@ namespace glabels
}
+ private void on_object_moved()
+ {
+ load_pos_x_spin();
+ load_pos_y_spin();
+ }
+
+
+ private void on_object_changed()
+ {
+ load_size_w_spin();
+ load_size_h_spin();
+ }
+
+
private void on_line_width_spin_changed()
{
if ( object != null )
@@ -469,7 +492,15 @@ namespace glabels
if ( object != null )
{
w = size_w_spin.get_value() * units.points_per_unit;
- object.w = w;
+
+ if ( size_aspect_check.get_active() )
+ {
+ object.set_w_honor_aspect( w );
+ }
+ else
+ {
+ object.w = w;
+ }
}
}
@@ -490,7 +521,15 @@ namespace glabels
if ( object != null )
{
h = size_h_spin.get_value() * units.points_per_unit;
- object.h = h;
+
+ if ( size_aspect_check.get_active() )
+ {
+ object.set_h_honor_aspect( h );
+ }
+ else
+ {
+ object.h = h;
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]