glom r1723 - in trunk: . glom/utility_widgets/canvas
- From: murrayc svn gnome org
- To: svn-commits-list gnome org
- Subject: glom r1723 - in trunk: . glom/utility_widgets/canvas
- Date: Thu, 13 Nov 2008 17:53:38 +0000 (UTC)
Author: murrayc
Date: Thu Nov 13 17:53:38 2008
New Revision: 1723
URL: http://svn.gnome.org/viewvc/glom?rev=1723&view=rev
Log:
2008-11-13 Murray Cumming <murrayc murrayc com>
* glom/utility_widgets/canvas/canvas_group_grid.[h|cc]:
Use the new Goocanvas::Grid instead of creating lots of lines ourselves.
We still need this class to add the rules and do the snapping though.
Modified:
trunk/ChangeLog
trunk/glom/utility_widgets/canvas/canvas_group_grid.cc
trunk/glom/utility_widgets/canvas/canvas_group_grid.h
Modified: trunk/glom/utility_widgets/canvas/canvas_group_grid.cc
==============================================================================
--- trunk/glom/utility_widgets/canvas/canvas_group_grid.cc (original)
+++ trunk/glom/utility_widgets/canvas/canvas_group_grid.cc Thu Nov 13 17:53:38 2008
@@ -32,8 +32,6 @@
: m_grid_gap(0.0),
m_grid_sensitivity(5.0)
{
- m_grid_lines_group = Goocanvas::Group::create();
- add_child(m_grid_lines_group);
m_grid_rules_group = Goocanvas::Group::create();
add_child(m_grid_rules_group);
}
@@ -208,8 +206,8 @@
void CanvasGroupGrid::create_lines()
{
//Remove any existing lines:
- while(m_grid_lines_group && m_grid_lines_group->get_n_children())
- m_grid_lines_group->remove_child(0);
+ if(m_grid_lines)
+ m_grid_lines->remove();
while(m_grid_rules_group && m_grid_rules_group->get_n_children())
m_grid_rules_group->remove_child(0);
@@ -222,27 +220,14 @@
const double width = right - left;
const double height = bottom - top;
-
- const double count_vertical_grid_lines = width / m_grid_gap;
- const double count_horizontal_grid_lines = height / m_grid_gap;
- //Vertical grid lines:
- for(double i = 0; i < count_vertical_grid_lines; ++i)
- {
- const double x = i * m_grid_gap;
-
- Glib::RefPtr<Goocanvas::Polyline> line = create_grid_or_rule_line(x, top, x, bottom);
- m_grid_lines_group->add_child(line);
- }
-
- //Horizontal grid lines:
- for(double i = 0; i < count_horizontal_grid_lines; ++i)
- {
- const double y = i * m_grid_gap;
-
- Glib::RefPtr<Goocanvas::Polyline> line = create_grid_or_rule_line(left, y, right, y);
- m_grid_lines_group->add_child(line);
- }
+ //Vertical and horizontal grid lines:
+ m_grid_lines = Goocanvas::Grid::create(0, 0, width, height, m_grid_gap, m_grid_gap);
+ m_grid_lines->property_horz_grid_line_width() = 1.0f;
+ m_grid_lines->property_vert_grid_line_width() = 1.0f;
+ m_grid_lines->property_horz_grid_line_color() = "gray";
+ m_grid_lines->property_vert_grid_line_color() = "gray";
+ add_child(m_grid_lines);
//Vertical rules:
for(CanvasGroupGrid::type_vec_double::const_iterator iter = m_rules_x.begin(); iter != m_rules_x.end(); ++iter)
Modified: trunk/glom/utility_widgets/canvas/canvas_group_grid.h
==============================================================================
--- trunk/glom/utility_widgets/canvas/canvas_group_grid.h (original)
+++ trunk/glom/utility_widgets/canvas/canvas_group_grid.h Thu Nov 13 17:53:38 2008
@@ -21,6 +21,7 @@
#ifndef GLOM_UTILITY_WIDGETS_CANVAS_GROUP_GRID_H
#define GLOM_UTILITY_WIDGETS_CANVAS_GROUP_GRID_H
+#include <goocanvasmm/grid.h>
#include <goocanvasmm/group.h>
#include <goocanvasmm/polyline.h>
#include <vector>
@@ -80,7 +81,8 @@
bool is_close(double a, double b) const;
- Glib::RefPtr<Goocanvas::Group> m_grid_lines_group, m_grid_rules_group;
+ Glib::RefPtr<Goocanvas::Grid> m_grid_lines;
+ Glib::RefPtr<Goocanvas::Group> m_grid_rules_group;
};
} //namespace Glom
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]