[IMP] add new view type: gallery

New view is used like that:
    <gallery string="Partners" col=-1 width=75 height=75>
        <field name="name" type="text"/>
        <field name="picture" type="image"/>
    </gallery>

  - string: display name of the view
  - col: force number of columns (auto if -1), default -1
  - width: size of one gallery item (in pixels), default 75
  - height: size of one gallery item (in pixels), default 75

  - field type='text': field to be used for gallery item text
  - field type='image': field to be used for gallery image repr.

bzr revid: x.alt@ajm.lu-20100426133847-4y0egk230hsf41gq
This commit is contained in:
Xavier ALT 2010-04-26 15:38:47 +02:00
parent a4f00ad02f
commit c048a189a7
4 changed files with 40 additions and 1 deletions

View File

@ -281,7 +281,8 @@ class act_window_view(osv.osv):
('form', 'Form'),
('graph', 'Graph'),
('calendar', 'Calendar'),
('gantt', 'Gantt')), string='View Type', required=True),
('gantt', 'Gantt'),
('gallery', 'Gallery')), string='View Type', required=True),
'act_window_id': fields.many2one('ir.actions.act_window', 'Action', ondelete='cascade'),
'multi': fields.boolean('On Multiple Doc.',
help="If set to true, the action will not be displayed on the right toolbar of a form view."),

View File

@ -62,6 +62,7 @@ class view(osv.osv):
('calendar', 'Calendar'),
('diagram','Diagram'),
('gantt', 'Gantt'),
('gallery', 'Gallery'),
('search','Search')), 'View Type', required=True),
'arch': fields.text('View Architecture', required=True),
'inherit_id': fields.many2one('ir.ui.view', 'Inherited View', ondelete='cascade'),

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0">
<rng:define name="any">
<rng:element>
<rng:anyName/>
<rng:zeroOrMore>
<rng:choice>
<rng:attribute>
<rng:anyName/>
</rng:attribute>
<rng:text/>
<rng:ref name="any"/>
</rng:choice>
</rng:zeroOrMore>
</rng:element>
</rng:define>
<rng:start>
<rng:ref name="any" />
</rng:start>
</rng:grammar>

View File

@ -332,6 +332,7 @@
<rng:ref name="button"/>
<rng:ref name="group"/>
<rng:ref name="graph"/>
<rng:ref name="gallery"/>
<rng:ref name="html"/>
<rng:element name="newline"><rng:empty/></rng:element>
</rng:choice>
@ -413,6 +414,7 @@
<rng:ref name="button"/>
<rng:ref name="group"/>
<rng:ref name="graph"/>
<rng:ref name="gallery"/>
<rng:ref name="filter"/>
<rng:ref name="notebook"/>
<rng:ref name="html"/>
@ -493,6 +495,18 @@
</rng:element>
</rng:define>
<rng:define name="gallery">
<rng:element name="gallery">
<rng:optional><rng:attribute name="string"/></rng:optional>
<rng:optional><rng:attribute name="width"/></rng:optional>
<rng:optional><rng:attribute name="height"/></rng:optional>
<rng:optional><rng:attribute name="col"/></rng:optional>
<rng:oneOrMore>
<rng:ref name="field"/>
</rng:oneOrMore>
</rng:element>
</rng:define>
<rng:define name="button">
<rng:element name="button">
<rng:optional><rng:attribute name="attrs"/></rng:optional>
@ -523,6 +537,7 @@
<rng:ref name="graph" />
<rng:ref name="calendar" />
<rng:ref name="gantt" />
<rng:ref name="gallery" />
<rng:ref name="xpath" />
<rng:ref name="page" />
<rng:ref name="separator"/>
@ -600,6 +615,7 @@
<rng:ref name="calendar" />
<rng:ref name="data" />
<rng:ref name="gantt" />
<rng:ref name="gallery" />
<rng:ref name="xpath" />
<rng:ref name="page" />
<rng:ref name="separator"/>