summaryrefslogtreecommitdiff
path: root/cad/src/protein/commands/ProteinDisplayStyle/ProteinDisplayStyle_Command.py
blob: 48354cba450d605df6e2dd94ef53544b3b904ae5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 2008 Nanorex, Inc.  See LICENSE file for details. 
"""
@author:    Urmi
@version:   $Id$
@copyright: 2008 Nanorex, Inc.  See LICENSE file for details.
"""

import foundation.changes as changes
from commands.SelectChunks.SelectChunks_GraphicsMode import SelectChunks_GraphicsMode
from command_support.EditCommand import EditCommand
from utilities.constants import red
from protein.commands.ProteinDisplayStyle.ProteinDisplayStyle_PropertyManager import ProteinDisplayStyle_PropertyManager

# == GraphicsMode part

_superclass_for_GM = SelectChunks_GraphicsMode

class ProteinDisplayStyle_GraphicsMode(SelectChunks_GraphicsMode ):
    """
    Graphics mode for (Protein) Display Style command. 
    """
    pass
    
# == Command part

_superclass = EditCommand
class ProteinDisplayStyle_Command(EditCommand): 
#class ProteinDisplayStyle_Command(BuildProtein_Command): 
    """
    
    """
   
    # class constants
    
    GraphicsMode_class = ProteinDisplayStyle_GraphicsMode
    
    PM_class = ProteinDisplayStyle_PropertyManager
    
    
    commandName = 'EDIT_PROTEIN_DISPLAY_STYLE'
    featurename = "Protein Display Style"
    from utilities.constants import CL_GLOBAL_PROPERTIES
    command_level = CL_GLOBAL_PROPERTIES
    
    command_should_resume_prevMode = True 
    command_has_its_own_PM = True
    
    flyoutToolbar = None
    
    def _getFlyoutToolBarActionAndParentCommand(self):
        """
        See superclass for documentation.
        @see: self.command_update_flyout()
        """
        flyoutActionToCheck = 'displayProteinStyleAction'
        parentCommandName = 'BUILD_PROTEIN'  
        return flyoutActionToCheck, parentCommandName
    
    def keep_empty_group(self, group):
        """
        Returns True if the empty group should not be automatically deleted. 
        otherwise returns False. The default implementation always returns 
        False. Subclasses should override this method if it needs to keep the
        empty group for some reasons. Note that this method will only get called
        when a group has a class constant autdelete_when_empty set to True. 
        (and as of 2008-03-06, it is proposed that dna_updater calls this method
        when needed. 
        @see: Command.keep_empty_group() which is overridden here. 
        """
        
        bool_keep = EditCommand.keep_empty_group(self, group)
        
        return bool_keep