Changeset 98

Show
Ignore:
Timestamp:
Fri Aug 12 15:50:43 2005
Author:
fredrikc
Message:

Some cleanups related new observer pattern.

Files:

Legend:

Unmodified
Added
Removed
Modified
  • trunk/transolution/xliffeditor/gtk_main.py

    r97 r98  
    45 45 from xliffsegment import Model #TODO: Model name is to generic  
    46 46 from settings import settings  
      47 from gtk_documenteditor import GUI_UPDATE_EVENT  
    47 48  
    48 49 # I18n support  
     
    239 240             from document.segments import External  
    240 241             self.docpane.doc_model.setDirty(External)  
    241               self.docpane.doc_model.xupdate(None,None,None)  
      242             self.docpane.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    241 242         else:  
    242 243             # no skeleton used before so we need to reparse using skeleton  
    243 244             self.docpane.document_control.buf.clear()  
    244 245             self.docpane.doc_model.parseXliff(use_skeleton=True)  
    245               self.docpane.doc_model.xupdate(None,None,None)  
      246             self.docpane.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    245 246             return True  
    246 247  
     
    256 257          
    257 258         self.docpane.doc_model.parseXliff(use_skeleton=False)  
    258           self.docpane.doc_model.xupdate(None,None,None)  
      259         self.docpane.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    258 259         return True  
    259 260  
     
    275 276         from document.segments import TuSegment  
    276 277         self.docpane.doc_model.setDirty(TuSegment)  
    277           self.docpane.doc_model.xupdate(None,None,None)  
      278         self.docpane.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    277 278         return True  
    278 279  
     
    284 285         from document.segments import TuSegment  
    285 286         self.docpane.doc_model.setDirty(TuSegment)  
    286           self.docpane.doc_model.xupdate(None,None,None)  
      287         self.docpane.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    286 287         return True  
    287 288          
  • trunk/transolution/xliffeditor/gtk_documenteditor.py

    r97 r98  
    4 4 from transolution.observer import Observer,Observable  
    5 5 from gtk_basetextbuf import BaseTextBuffer  
      6 GUI_UPDATE_EVENT = 693  
    6 7  
    7 8 class DocumentBuffer(BaseTextBuffer,Observer):  
     
    17 18         self.model = model  
    18 19         # tell us to observer model for gui changes  
    19           self.subscribeToObservable(self.model,'xupdate')  
      20         self.subscribeToObservable(self.model,'xupdate',GUI_UPDATE_EVENT)  
    19 20          
    20 21     def xupdate(self,doc,event,msg):  
  • trunk/transolution/xliffeditor/gtk_documentviewpanel.py

    r97 r98  
    8 8 ##import gobject  
    9 9  
    10    
    11   from gtk_documenteditor import DocumentEdit,DocumentBuffer  
      10 from gtk_documenteditor import DocumentEdit,DocumentBuffer,GUI_UPDATE_EVENT  
    12 11 from gtk_tagedit import TagEdit,TagBuffer  
    13 12  
     
    22 21 from formatters import FullFormatterTagId,FullFormatter,MinimalFormatter  
    23 22  
    24   from document.segments import External,TuSegment,FileInfo  
      23 from document.segments import External,TuSegment,FileInfo,TU_CHANGE_EVENT  
    24 23  
    25 24 from document.tu import TuException  
     
    116 115  
    117 116         # Observe document text widget for segment changes  
    118           self.subscribeToObservable(self.document_control,'xupdate')  
      117         self.subscribeToObservable(self.document_control,'cbSelectedSegmentChanged')  
    118 117  
    119 118          
     
    212 211         self.target_control.get_buffer().setModel(self.target_seg_model)  
    213 212  
    214       def xupdate(self,observable, event, seg):  
      213     def cbSelectedSegmentChanged(self,observable, event, seg):  
    214 213         'called by document_control when selected segment changes'  
    215 214         self.source_seg_model.setRootNode(seg.tu.getSourceNode())  
     
    336 335         tu = self.document_control.current_seg.tu  
    337 336         tu.approved = 'yes'  
    338           tu.notifyObservers()  
      337         tu.notifyObservers(TU_CHANGE_EVENT)  
    338 337  
    339 338  
     
    343 342         self.tu_info_panel.tu.addNote()  
    344 343         # update gui  
    345           self.tu_info_panel.xupdate(None,self.tu_info_panel.tu)  
      344         self.tu_info_panel.tu.notifyObservers(TU_CHANGE_EVENT)  
    345 344 ##        self._segClose(commit=False)  
    346 345  
     
    550 549             tu.state = 'needs-review-adaptation'  
    551 550          
    552           tu.notifyObservers()  
      551         tu.notifyObservers(TU_CHANGE_EVENT)  
    552 551  
    553 552     def openTransUnit(self,*args,**kwargs):  
     
    761 760         self.target_seg_model.notifyObservers()  
    762 761  
    763           self.doc_model.xupdate(None,None,None)  
      762         self.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    763 762  
    764 763         search_dlg.grab_focus()  
     
    805 804                 changed = False  
    806 805                 seg.dirty = True  
    807           self.doc_model.xupdate(None,None,None)  
      806         self.doc_model.notifyObservers(GUI_UPDATE_EVENT)  
    807 806         return changes  
  • trunk/transolution/xliffeditor/gtk_tustatus.py

    r97 r98  
    10 10 from document.tu.state_maps import getTuStates,getTuStatesQualifiers  
    11 11 import transolution  
      12 from document.segments import TU_CHANGE_EVENT  
    12 13  
    13 14 # get the relevant states  
     
    22 23         Observer.__init__(self)  
    23 24         CustomHandler.__init__(self)  
    24    
      25         self.tu = None  
    24 25        
    25 26         # Load Glade GUI  
     
    100 101         self.setTu(None)  
    101 102          
    102       def xupdate(self,tu,event,msg):  
      103     def cbTuChanged(self,tu,event,msg):  
    102 103         org = self.interactive  
    103 104         self.interactive = False # disable interactive event checks  
     
    141 142     def setTu(self,tu):  
    142 143         'update TU status info panel'  
    143           # TODO: implement events on tu_info_panel so it can be used to set status  
      144         if self.tu:  
      145             self.unsubscribeToObservable(self.tu)  
    144 146  
    145           # TODO: there seems to be something fishy with the approve cb changes  
    146           # invsetigate further...  
    147            
    148 147         # disable us if tu is none  
    149 148         if tu is None:  
     
    157 156             self.tu_state.set_sensitive(True)  
    158 157  
    159           self.subscribeToObservable(tu, "xupdate")  
    160           self.xupdate(tu,None,None)  
      158         self.subscribeToObservable(tu, "cbTuChanged")  
      159 ##        tu.notifyObservers(TU_CHANGE_EVENT)  
      160         self.cbTuChanged(tu,None,None)  
    161 161         self.tu = tu  
    162 162  
    163 163     def onAlttransExpanderActivate(self,*args):  
    164 164         print "Alttrans EXPAND"  
    165           self.xupdate(self.tu,None,None)  
      165         self.tu.notifyObservers()  
    165 165     def onContextExpanderActivate(self,*args):  
    166 166         print "Context EXPAND"  
    167           self.xupdate(self.tu,None,None)  
      167         self.tu.notifyObservers()  
    167 167  
    168 168     def onCbTranslateToggled(self,*args):  
     
    177 177         if self.tu:  
    178 178             self.tu.approved = widget.get_active()  
    179               self.tu.notifyObservers()  
      179             self.tu.notifyObservers(TU_CHANGE_EVENT)  
    179 179         return True  
    180 180  
     
    191 191         else:  
    192 192             del self.tu.state  
    193           self.tu.notifyObservers()  
      193         self.tu.notifyObservers(TU_CHANGE_EVENT)  
    193 193         return True  
    194 194  
     
    199 199             self.tu.state_qualifier = entry.get_text()  
    200 200         else: del self.tu.state_qualifier  
    201           self.tu.notifyObservers()  
      201         self.tu.notifyObservers(TU_CHANGE_EVENT)  
    201 201         return True  
    202 202          
  • trunk/transolution/xliffeditor/gtk_noteedit.py

    r8 r98  
    114 114             self.tu._parse()  
    115 115             self.fillNoteList(self.model)  
      116         self.tu.notifyObservers()  
    116 117         return True  
    117 118  
  • trunk/transolution/xliffeditor/document/document.py

    r97 r98  
    65 65         'Add a segment to document'  
    66 66         self.segs.append(seg)  
    67           self.subscribeToObservable(seg, "xupdate")  
      67         self.subscribeToObservable(seg, "cbSegChanged")  
    67 67  
    68 68  
     
    95 95  
    96 96  
    97       def xupdate(self, observable,event,seg=None):  
      97     def cbSegChanged(self, observable,event,seg):  
    97 97         'observer interface'  
    98 98         self.notifyObservers()  
  • trunk/transolution/xliffeditor/document/segments.py

    r97 r98  
    59 59         return self._node  
    60 60  
    61    
      61 TU_CHANGE_EVENT = 492  
    61 61 class TuSegment(Segment,Observer):  
    62 62     'TuSegment segment. Has Translation unit'  
     
    68 68         self.tu = TranslationUnit(self._node)  
    69 69         # observe TU for changes  
    70           self.subscribeToObservable(self.tu, "xupdate")  
      70         self.subscribeToObservable(self.tu, "tuChanged",TU_CHANGE_EVENT)  
    70 70  
    71 71  
    72       def xupdate(self, observable,event,subject):  
      72     def tuChanged(self, observable,event,subject):  
    72 72         'observer interface called by TUs notify'  
      73         print "TU changed"  
    73 74         self.dirty = True  
    74 75         # Update segment to