Changeset 1679

Show
Ignore:
Timestamp:
07/19/07 04:42:53 (1 year ago)
Author:
arj..@yirdis.nl
Message:

Changed matrix conversion methods to new names.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphor/trunk/gaphor/diagram/diagramline.py

    r1570 r1679  
    114114            h = self.head 
    115115 
    116             x, y = self.canvas.get_matrix_i2w(self).transform_point(h.x, h.y) 
    117             x, y = self.canvas.get_matrix_w2i(self._load_head_connection).transform_point(x, y) 
     116            x, y = self.canvas.get_matrix_i2c(self).transform_point(h.x, h.y) 
     117            x, y = self.canvas.get_matrix_c2i(self._load_head_connection).transform_point(x, y) 
    118118            adapter.connect(h, x, y) 
    119119            del self._load_head_connection 
     
    124124            h = self.tail 
    125125 
    126             x, y = self.canvas.get_matrix_i2w(self).transform_point(h.x, h.y) 
    127             x, y = self.canvas.get_matrix_w2i(self._load_tail_connection).transform_point(x, y) 
     126            x, y = self.canvas.get_matrix_i2c(self).transform_point(h.x, h.y) 
     127            x, y = self.canvas.get_matrix_c2i(self._load_tail_connection).transform_point(x, y) 
    128128            adapter.connect(h, x, y) 
    129129            del self._load_tail_connection 
  • gaphor/trunk/gaphor/plugins/diagramlayout/__init__.py

    r1548 r1679  
    244244    x = item.width / 2.0 
    245245    y = item.height / 2.0 
    246     return item.canvas.get_matrix_i2w(item).transform_point(x, y) 
     246    return item.canvas.get_matrix_i2c(item).transform_point(x, y) 
    247247 
    248248# vim:sw=4:et 
  • gaphor/trunk/gaphor/tests/test_storage.py

    r1616 r1679  
    211211        c2.matrix.translate(200, 200) 
    212212        diagram.canvas.update_matrix(c2) 
    213         assert tuple(diagram.canvas.get_matrix_i2w(c2)) == (1, 0, 0, 1, 200, 200) 
     213        assert tuple(diagram.canvas.get_matrix_i2c(c2)) == (1, 0, 0, 1, 200, 200) 
    214214 
    215215        a = diagram.create(items.AssociationItem) 
  • gaphor/trunk/gaphor/ui/diagrampainters.py

    r1334 r1679  
    3131                cr.save() 
    3232                cr.identity_matrix() 
    33                 m = Matrix(*view.canvas.get_matrix_i2w(item)) 
    34                 m *= view._matrix 
     33                m = Matrix(*view.get_matrix_i2v(item)) 
    3534 
    3635                cr.set_antialias(ANTIALIAS_NONE) 
  • gaphor/trunk/gaphor/ui/diagramtab.py

    r1614 r1679  
    33 
    44import gtk 
     5from cairo import Matrix 
    56 
    67from zope import component 
     
    252253                item = self.diagram.create(item_class) 
    253254                assert item 
    254                 wx, wy = view.transform_point_c2w(x + view.hadjustment.value, 
    255                                               y + view.vadjustment.value) 
    256  
    257                 ix, iy = view.canvas.get_matrix_w2i(item, calculate=True).transform_point(max(0, wx), max(0, wy)) 
     255                inverse = Matrix(*view.matrix)  
     256                inverse.invert()  
     257                cx, cy = inverse.transform_point(x + view.hadjustment.value, 
     258                                                 y + view.vadjustment.value) 
     259 
     260                ix, iy = view.canvas.get_matrix_c2i(item, calculate=True).transform_point(max(0, cx), max(0, cy)) 
    258261                item.matrix.translate(ix, iy) 
    259262                item.subject = element 
  • gaphor/trunk/gaphor/ui/diagramtools.py

    r1591 r1679  
    99 
    1010import gtk 
     11from cairo import Matrix 
    1112from zope import component 
    1213 
    13 import gaphas 
    1414from gaphas.geometry import distance_point_point, distance_point_point_fast, \ 
    1515                            distance_line_point, distance_rectangle_point 
    1616from gaphas.item import Line 
    17 from gaphas.tool import Tool, HandleTool, ItemTool, ToolChain 
     17from gaphas.tool import Tool, HandleTool, PlacementTool as _PlacementTool 
     18from gaphas.tool import ToolChain, HoverTool, ItemTool, RubberbandTool 
     19 
     20 
    1821 
    1922from gaphor.core import inject, Transaction, transactional 
     
    4245 
    4346 
    44     def glue(self, view, item, handle, wx, wy): 
     47    def glue(self, view, item, handle, cx, cy): 
    4548        """ 
    4649        Find the nearest item that the handle may connect to. 
     
    5457        item: The item who's about to connect, owner of handle 
    5558        handle: the handle to connect 
    56         wx, wy: handle position in world coordinates 
     59        cx, cy: handle position in canvas coordinates 
    5760        """ 
    5861        canvas = view.canvas 
    59         cx, cy = view.transform_point_w2c(wx, wy) 
     62        vx, vy = view.matrix.transform_point(cx, cy) 
    6063 
    6164        # localize methods 
    62         i2w = view.canvas.get_matrix_i2w 
    63         w2i = view.canvas.get_matrix_w2i 
     65        i2c = view.canvas.get_matrix_i2c 
     66        c2i = view.canvas.get_matrix_c2i 
    6467        drp = distance_rectangle_point 
    6568        get_item_bounding_box = view.get_item_bounding_box 
    6669        query_adapter = component.queryMultiAdapter 
    6770 
    68         dist, _ = view.transform_distance_c2w(self.GLUE_DISTANCE, 0) 
     71        inverse = Matrix(*view.matrix) 
     72        inverse.invert() 
     73        dist, _ = inverse.transform_distance(self.GLUE_DISTANCE, 0) 
    6974        max_dist = dist 
    7075        glue_pos_w = (0, 0) 
     
    7580             
    7681            b = get_item_bounding_box(i) 
    77             if drp(b, (cx, cy)) >= max_dist: 
     82            if drp(b, (vx, vy)) >= max_dist: 
    7883                continue 
    7984             
    8085            adapter = query_adapter((i, item), IConnect) 
    8186            if adapter: 
    82                 x, y = w2i(i).transform_point(wx, wy) 
     87                x, y = c2i(i).transform_point(cx, cy) 
    8388                pos = adapter.glue(handle, x, y) 
    8489                self._adapter = adapter 
     
    8792                    if d <= dist: 
    8893                        dist = d 
    89                         glue_pos_w = i2w(i).transform_point(*pos) 
     94                        glue_pos_w = i2c(i).transform_point(*pos) 
    9095                        glue_item = i 
    9196 
    9297        if dist < max_dist: 
    93             x, y = w2i(item).transform_point(*glue_pos_w) 
     98            x, y = c2i(item).transform_point(*glue_pos_w) 
    9499            handle.x = x 
    95100            handle.y = y 
     
    99104        return glue_item 
    100105 
    101     def connect(self, view, item, handle, wx, wy): 
     106    def connect(self, view, item, handle, cx, cy): 
    102107        """ 
    103108        Find an item near @handle that @item can connect to and connect. 
     
    109114        connected = False 
    110115        try: 
    111             glue_item = self.glue(view, item, handle, wx, wy) 
     116            glue_item = self.glue(view, item, handle, cx, cy) 
    112117 
    113118            if glue_item: 
    114                 x, y = view.canvas.get_matrix_w2i(glue_item).transform_point(wx, wy) 
     119                x, y = view.canvas.get_matrix_c2i(glue_item).transform_point(cx, cy) 
    115120                self._adapter.connect(handle, x, y) 
    116121 
     
    147152        if item and item is view.focused_item and isinstance(item, Line): 
    148153            h = item.handles() 
    149             x, y = context.view.transform_point_c2i(item, event.x, event.y) 
     154            x, y = context.view.get_matrix_v2i(item).transform_point(event.x, event.y) 
    150155            for h1, h2 in zip(h[:-1], h[1:]): 
    151                 cx = (h1.x + h2.x) / 2 
     156                vx = (h1.x + h2.x) / 2 
    152157                cy = (h1.y + h2.y) / 2 
    153158                if distance_point_point_fast((x,y), (cx, cy)) <= 4: 
     
    230235                # Could not adapt to IEditor 
    231236                return False 
    232             x, y = view.transform_point_c2i(item, event.x, event.y) 
     237            x, y = view.get_matrix_v2i(item).transform_point(event.x, event.y) 
    233238            if editor.is_editable(x, y): 
    234239                text = editor.get_text() 
     
    249254 
    250255 
    251 class PlacementTool(gaphas.tool.PlacementTool): 
     256class PlacementTool(_PlacementTool): 
    252257    """ 
    253258    PlacementTool is used to place items on the canvas. 
     
    259264        that is displayed on the diagram. 
    260265        """ 
    261         gaphas.tool.PlacementTool.__init__(self, factory=item_factory, 
     266        _PlacementTool.__init__(self, factory=item_factory, 
    262267                                           handle_tool=ConnectHandleTool(), 
    263268                                           handle_index=handle_index) 
     
    269274        view = context.view 
    270275        view.unselect_all() 
    271         if gaphas.tool.PlacementTool.on_button_press(self, context, event): 
     276        if _PlacementTool.on_button_press(self, context, event): 
    272277            try: 
    273278                opposite = self.new_item.opposite(self.new_item.handles()[self._handle_index]) 
     
    277282                # Connect opposite handle first, using the HandleTool's 
    278283                # mechanisms 
    279                 wx, wy = view.canvas.get_matrix_i2w(self.new_item, calculate=True).transform_point(opposite.x, opposite.y) 
    280                 item = self.handle_tool.glue(view, self.new_item, opposite, wx, wy) 
     284                cx, cy = view.canvas.get_matrix_i2c(self.new_item, calculate=True).transform_point(opposite.x, opposite.y) 
     285                item = self.handle_tool.glue(view, self.new_item, opposite, cx, cy) 
    281286                if item: 
    282                     self.handle_tool.connect(view, self.new_item, opposite, wx, wy) 
     287                    self.handle_tool.connect(view, self.new_item, opposite, cx, cy) 
    283288            return True 
    284289        return False 
     
    288293            if self.after_handler: 
    289294                self.after_handler() 
    290             return gaphas.tool.PlacementTool.on_button_release(self, context, event) 
     295            return _PlacementTool.on_button_release(self, context, event) 
    291296        finally: 
    292297            self._tx.commit() 
     
    328333        finally: 
    329334            tx.commit() 
    330  
    331  
    332 from gaphas.tool import ToolChain, HoverTool, ItemTool, RubberbandTool 
    333335 
    334336 
  • gaphor/trunk/gaphor/ui/groupingtools.py

    r1601 r1679  
    9696        view = context.view 
    9797        # get item position through parent world 
    98         x, y = view.canvas.get_matrix_w2i(self._parent).transform_point(x, y) 
     98        x, y = view.canvas.get_matrix_c2i(self._parent).transform_point(x, y) 
    9999        item.matrix.translate(x, y) 
    100100 
     
    170170 
    171171                    # reset item's position 
    172                     px, py = canvas.get_matrix_w2i(parent).transform_point(0, 0) 
     172                    px, py = canvas.get_matrix_c2i(parent).transform_point(0, 0) 
    173173                    item.matrix.translate(-px, -py) 
    174174 
     
    183183 
    184184                    # reset item's position 
    185                     x, y = canvas.get_matrix_i2w(over).transform_point(0, 0) 
     185                    x, y = canvas.get_matrix_i2c(over).transform_point(0, 0) 
    186186                    item.matrix.translate(-x, -y) 
    187187 
  • gaphor/trunk/gaphor/ui/tests/test_handletool.py

    r1616 r1679  
    4747        tool.glue(view, line, handle, 45, 48) 
    4848 
    49         self.assertEquals((45, 50), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     49        self.assertEquals((45, 50), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    5050 
    5151        handle.x, handle.y = 0, 0 
    5252        tool.connect(view, line, handle, 45, 48) 
    53         self.assertEquals((45, 50), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     53        self.assertEquals((45, 50), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    5454        assert handle.connected_to is comment, handle.connected_to 
    5555        assert handle._connect_constraint is not None 
     
    7373        actor.matrix.translate(200, 200) 
    7474        diagram.canvas.update_matrix(actor) 
    75         print diagram.canvas.get_matrix_i2w(actor), actor.matrix 
     75        print diagram.canvas.get_matrix_i2c(actor), actor.matrix 
    7676        assert actor.height == 60, actor.height 
    7777        assert actor.width == 38, actor.width 
     
    8989        handle.x, handle.y = 0, 0 
    9090        tool.connect(view, line, handle, 45, 48) 
    91         self.assertEquals((45, 50), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     91        self.assertEquals((45, 50), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    9292        assert handle.connected_to is comment, handle.connected_to 
    9393        assert handle._connect_constraint is not None 
     
    101101        assert tool.glue(view, line, handle, 200, 200) is actor 
    102102        tool.connect(view, line, handle, 200, 200) 
    103         self.assertEquals((200, 200), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     103        self.assertEquals((200, 200), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    104104        assert handle.connected_to is actor, handle.connected_to 
    105105        assert handle._connect_constraint is not None 
     
    112112        tool.disconnect(view, line, handle) 
    113113 
    114         self.assertEquals((200, 200), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     114        self.assertEquals((200, 200), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    115115        assert handle.connected_to is actor, handle.connected_to 
    116116        assert handle._connect_constraint is None 
     
    124124        tool.connect(view, line, handle, 500, 500) 
    125125 
    126         self.assertEquals((200, 200), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     126        self.assertEquals((200, 200), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    127127        assert handle.connected_to is None, handle.connected_to 
    128128        assert handle._connect_constraint is None 
     
    141141        actor.matrix.translate(200, 200) 
    142142        diagram.canvas.update_matrix(actor) 
    143         print diagram.canvas.get_matrix_i2w(actor), actor.matrix 
     143        print diagram.canvas.get_matrix_i2c(actor), actor.matrix 
    144144        assert actor.height == 60, actor.height 
    145145        assert actor.width == 38, actor.width 
     
    160160 
    161161        handle = line.handles()[0] 
    162         self.assertEquals((0, 0), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     162        self.assertEquals((0, 0), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    163163        assert handle.connected_to is comment, 'c =' + str(handle.connected_to) 
    164164        assert handle._connect_constraint is not None 
     
    171171 
    172172        handle = line.handles()[-1] 
    173         self.assertEquals((200, 200), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     173        self.assertEquals((200, 200), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    174174        assert handle.connected_to is actor 
    175175        assert handle._connect_constraint is not None 
     
    183183 
    184184        handle = line.handles()[-1] 
    185         self.assertEquals((200, 200), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     185        self.assertEquals((200, 200), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    186186        assert handle.connected_to is actor 
    187187        assert handle._connect_constraint is not None 
     
    195195 
    196196        handle = line.handles()[-1] 
    197         self.assertEquals((500, 500), view.canvas.get_matrix_i2w(line).transform_point(handle.x, handle.y)) 
     197        self.assertEquals((500, 500), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y)) 
    198198        assert handle.connected_to is None 
    199199        assert handle._connect_constraint is None 
  • gaphor/trunk/setup.py

    r1655 r1679  
    117117        # 'PyGTK >= 2.8.0', - Exclude, since it will not build anyway 
    118118        'decorator >= 2.0.1', 
    119         'gaphas >= 0.2.0', 
     119        'gaphas >= 0.3.0.dev-r1677', 
    120120        'zope.component >= 3.3.0', # - won't compile on windows. 
    121121        # Add dependency on zope.testing to work around bug in zope.component