~ubuntu-branches/ubuntu/precise/glom/precise-updates

« back to all changes in this revision

Viewing changes to glom/mode_design/print_layouts/canvas_layout_item.h

  • Committer: Bazaar Package Importer
  • Author(s): Chris Coulson
  • Date: 2009-10-09 16:50:36 UTC
  • mfrom: (1.1.42 upstream)
  • Revision ID: james.westby@ubuntu.com-20091009165036-orinvwmohk838xxl
Tags: 1.12.2-0ubuntu1
* New upstream version:
  - FFE LP: #391664
* debian/control:
  - Bump python-gnome2-extras-dev build-dep to >= 2.25.3.
  - Bump libgdamm3.0-dev build-dep to libgdamm4.0-dev >= 3.99.14.
  - Change libgda3-dev build-dep to libgda-4.0-dev.
  - Change libgda3-postgres dependency to libgda-4.0-postgres.
  - Bump libgtkmm-2.4-dev build-dep to >= 2.14.
  - Add build-dep on libgconfmm-2.6-dev.
  - Bump libgoocanvasmm-dev build-dep to >= 0.14.0.
  - Remove build-dep on libbakery-2.6-dev.
  - Bump postgresql-8.3 dependency to postgresql-8.4.
  - Change scrollkeeper build-dep to rarian-compat.
  - Rename libglom{0,-dev} -> libglom-1.12-{0,dev}. Upstream include
    APIVER in the library name now.
* debian/rules:
  - Update --with-postgres-utils configure flag to point to the new
    path.
  - Drop deprecated --disable-scrollkeeper configure flag.
  - Update DEB_SHLIBDEPS_INCLUDE with new libglom-1.12-0 package name.
  - Don't include /usr/share/cdbs/1/rules/simple-patchsys.mk - there
    are currently no patches.
* debian/libglom-1.12-0.install:
  - Updated for new version.
* debian/libglom-1.12-dev.install:
  - Install pc and header files.
* debian/glom-doc.install:
  - Updated for new version.
* debian/glom.install:
  - Updated for new version.
* Fix debian/watch.
* Dropped obsolete 10-distro-install-postgres-change.patch.
* Built against latest libgoocanvasmm (LP: #428445).
* Also closes LP: #230007, LP: #393229, LP: #393231, LP: #394507,
  LP: #394887, LP: #394894, LP: #397409, LP: #381563.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Glom
2
 
 *
3
 
 * Copyright (C) 2001-2004 Murray Cumming
4
 
 *
5
 
 * This program is free software; you can redistribute it and/or
6
 
 * modify it under the terms of the GNU General Public License as
7
 
 * published by the Free Software Foundation; either version 2 of the
8
 
 * License, or (at your option) any later version.
9
 
 *
10
 
 * This program is distributed in the hope that it will be useful, but
11
 
 * WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
 
 * General Public License for more details.
14
 
 *
15
 
 * You should have received a copy of the GNU General Public
16
 
 * License along with this program; if not, write to the
17
 
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
 
 * Boston, MA 02111-1307, USA.
19
 
 */
20
 
 
21
 
#ifndef GLOM_MODE_DESIGN_PRINT_LAYOUTS_CANVAS_LAYOUT_ITEM_H
22
 
#define GLOM_MODE_DESIGN_PRINT_LAYOUTS_CANVAS_LAYOUT_ITEM_H
23
 
 
24
 
#include <glom/utility_widgets/canvas/canvas_group_resizable.h>
25
 
#include <glom/libglom/data_structure/layout/layoutitem.h>
26
 
#include <libgdamm/value.h>
27
 
 
28
 
namespace Glom
29
 
{
30
 
 
31
 
class CanvasTextMovable;
32
 
class FieldFormatting;
33
 
class LayoutItem_Portal;
34
 
 
35
 
/** This has the appropriate child canvas item, depending on the type of the child LayoutItem.
36
 
 */
37
 
class CanvasLayoutItem : public CanvasGroupResizable
38
 
{
39
 
protected:
40
 
  CanvasLayoutItem();
41
 
  CanvasLayoutItem(const sharedptr<LayoutItem>& layout_item);
42
 
  virtual ~CanvasLayoutItem();
43
 
 
44
 
public:
45
 
 
46
 
  static Glib::RefPtr<CanvasLayoutItem> create();
47
 
 
48
 
  //Creates a new canvas item, with an appropriate child canvas item,
49
 
  //and sets the position and size of this canvas item to the position in the LayoutItem.
50
 
  static Glib::RefPtr<CanvasLayoutItem> create(const sharedptr<LayoutItem>& layout_item);
51
 
 
52
 
  sharedptr<LayoutItem> get_layout_item();
53
 
 
54
 
  //Create an appropriate child canvas item,
55
 
  //and sets the position and size of this canvas item to the position in the LayoutItem.
56
 
  void set_layout_item(const sharedptr<LayoutItem>& layout_item);
57
 
  
58
 
  /// Make the canvas item show actual data instead of, for instance, a field name.
59
 
  void set_db_data(const Gnome::Gda::Value& value);
60
 
 
61
 
  /// Hide the missing-image pixbuf from images, for instance.
62
 
  void remove_empty_indicators();
63
 
 
64
 
  static int get_rows_count_for_portal(const sharedptr<const LayoutItem_Portal>& portal, double& row_height);
65
 
 
66
 
protected:
67
 
  /// Create the appropriate inner canvas item to represent the layout item.
68
 
  static Glib::RefPtr<CanvasItemMovable> create_canvas_item_for_layout_item(const sharedptr<LayoutItem>& layout_item);
69
 
 
70
 
  static void check_and_apply_formatting(const Glib::RefPtr<CanvasTextMovable>& canvas_item, FieldFormatting& formatting);
71
 
  
72
 
  void on_resized();
73
 
 
74
 
  sharedptr<LayoutItem> m_layout_item;
75
 
};
76
 
 
77
 
} //namespace Glom
78
 
 
79
 
 
80
 
#endif //GLOM_MODE_DESIGN_PRINT_LAYOUTS_CANVAS_LAYOUT_ITEM_H