def __init__(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()

        #initialize all UI components to none
        self.viewRulesImageBanner = None
        self.configuredAffinityRulesScrolledwindow = None
        self.selectedRuleDesTextview = None
        self.selectedAffinityRuleVMsScrolledwindow = None
        self.cancelViewRuleButton = None
        self.okViewRuleButton = None
        
        self.allGroupsClist = None
        self.VMsInGroupClist = None
        
        #CList related variables
        self.selectedGroupRow = None
        self.selectedGroupColumn = None
        
        self.allGroupDictionary = None
        
        #Initialize window
        vmmGObjectUI.__init__(self, "vmaffinity-view-rules.ui", "vmaffinity-view-rules")
        
        #Connect signals
        self.window.connect_signals({ 
        	"on_vmaffinity-view-configured-rules_delete_event":self.close,
        	"on_cancelViewRuleButton_clicked":self.close,
        	"on_okViewRuleButton_clicked":self.close,
        })
        
        #Initialize UI components
        self.initUIComponents()
    def reset_state(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()

        #initialize all UI components to none
        self.viewHostAffinityRulesImageBanner = None
        self.availableVirtualMachinesScrolledwindow = None
        self.selectedVMDesTextview = None
        self.selectedVMAffinedHostsScrolledwindow = None
        self.cancelViewHostAffinityRuleButton = None
        self.okViewHostAffinityRuleButton = None
        
        self.allVMsClist = None
        self.affinedHostsClist = None
        
        #CList related variables
        self.selectedVMRow = None
        self.selectedVMColumn = None
        
        self.allVMHostAffinityDictionary = None
        
        #Initialize window
        vmmGObjectUI.__init__(self, "vmaffinity-view-hostaffinityrules.ui", "vmaffinity-view-hostaffinity-rules")
        
        #Connect signals
        self.window.connect_signals({ 
        	"on_vmaffinity-view-configured-rules_delete_event":self.close,
        	"on_cancelViewHostAffinityRuleButton_clicked":self.close,
        	"on_okViewHostAffinityRuleButton_clicked":self.close,
        })
        
        #Initialize UI components
        self.initUIComponents()
    def __init__(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()

        #initialize all UI components to none        
        self.manageRuleBanner = None
        self.configuredAffinityRulesScrolledwindow = None
        self.selectedRuleDesTextview = None
        self.selectedAffinityRuleVMsScrolledwindow = None
        self.availableVirtualMachineScrolledwindow = None
        self.updatedGroupVirtualMachineScrolledwindow = None
        self.addVMToUpdatedAffinityGroupbutton = None
        self.removeVMFromUpdatedAffinityGroupButton = None
        self.cancelRuleManageButton = None
        self.UpdateAffinityGroupButton = None
        self.errorLabel = None
        
        self.allGroupsClist = None
        self.VMsInGroupClist = None          
        
        # CList for managing
        self.universalVMList = None
        self.VMsInUpdatedGroupClist = None
        
        # CList variables for managing
        self.universalSelectedVMRow = None
        self.universalSelectedVMColumn = None
        
        self.updatedListSelectedVMRow = None
        self.updatedListSelectedVMColumn = None
        
        #CList related variables
        self.selectedGroupRow = None
        self.selectedGroupColumn = None
        
        self.allGroupDictionary = None
        
        # List of all available machines in this machine
        self.allVMsInMachine = None
        
        vmmGObjectUI.__init__(self, "vmaffinity-manage-affinity-rules.ui", "vmaffinity-manage-affinity-rules")
        
        #Connect signals
        self.window.connect_signals({"on_addVMToUpdatedAffinityGroupbutton_clicked": self.addVMToUpdatedAffinityGroup,
        	"on_removeVMFromUpdatedAffinityGroupButton_clicked": self.removeVMFromUpdatedAffinityGroup,    				"on_cancelRuleManageButton_clicked": self.close, 
        	"on_UpdateAffinityGroupButton_clicked": self.UpdateAffinityGroup,
        	"on_vmaffinity-manage-affinity-rules_delete_event": self.close,
        })
        
        # a counter to keep track on how many virtual machines in updated group vm members.
        self.totalVMsInUpdatedGroup = 0
        
		#Initialize all UI components
        self.initUIComponents()
        
        self.err = vmmErrorDialog()
    def __init__(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()
        
        #initialize all UI components to none
        self.allVMScrolledWindow = None
        self.newGroupVMScrolledWindow = None
        self.newGroupTextEntry = None
        self.newGroupDescriptionTextView = None
        self.createNewRuleBanner = None
        self.addVMToGroupButton = None
        self.removeVMFromGroupButton = None
        self.cancelNewRuleCreationButton = None
        self.createNewRuleButton = None
        self.warningLabel = None
        self.allVMClist = None
        self.groupVMClist = None
        
        #CList related variables
        self.selectedAllVMRow = None
        self.selectedAllVMColumn = None
        self.selectedGroupVMRow = None
        self.selectedGroupVMColumn = None
        self.allVMList = None
        self.totalVMsInGroup = 0
        
        #Helper Variables
        self.sortedAllGroupsList = None
        
        vmmGObjectUI.__init__(self, "vmaffinity-createnewrule.ui", "vmaffinity-createnewrule")

        #Connect signals
        self.window.connect_signals({
            "on_addVMToAffinityGroupbutton_clicked": self.addVMToGroupClicked,
            "on_removeVMFromAffinityGroup_clicked": self.removeVMFromGroupClicked,
            "on_cancelNewRuleCreationButton_clicked":self.cancelClicked,
            "on_CreateNewRuleButton_clicked":self.createNewAffinityGroupClicked,
            "on_newAffinityGroupNameTextEntry_focus_out_event":self.groupNameTextEntryFocusOut,
            "on_vmaffinity-createnewrule_delete_event": self.close,
            })
        
        #Initialize UI components
        self.initUIComponents()
        
        #Initialize helper variables
        self.sortedAllGroupsList = vmaffinityxmlutil.loadGroupsToList()
    def __init__(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()
        
        #initialize all UI components to none
        self.affinedHostsTextEntry = None
        self.newRuleDescriptionTextView = None
        self.availableVirtualMachineScrolledwindow = None
        self.addVMToAffinityGroupbutton = None
        self.removeVMFromAffinityGroup = None
        self.affinedVirtualMachineScrolledwindow = None
        self.cancelHostAffinityRuleCreationButton = None
        self.CreateHostAffinityRuleButton = None
        self.warningLabel = None
        self.vmacreatehostaffinityrulebanner = None
        
        self.allVMClist = None
        self.affinedVMClist = None
                
        #CList related variables
        self.selectedAllVMRow = None
        self.selectedAllVMColumn = None
        self.selectedAffinedVMRow = None
        self.selectedAffinedVMColumn = None
        
        self.totalVMsAffined = 0
                
        vmmGObjectUI.__init__(self, "vmaffinity-createhostaffinityrule.ui", "vmaffinity-createhostaffinityrule")

        #Connect signals
        self.window.connect_signals({
            "on_addVMToAffinityGroupbutton_clicked": self.addVMToGroupClicked,
            "on_removeVMFromAffinityGroup_clicked": self.removeVMFromGroupClicked,
            "on_cancelHostAffinityRuleCreationButton_clicked":self.close,
            "on_CreateHostAffinityRuleButton_clicked":self.createNewHostAffinityRuleClicked,
            "on_vmaffinity-createhostaffinityrule_delete_event": self.close,
            })
        
        #Initialize UI components
        self.initUIComponents()
    def reset_state(self):
        
        # check if groups config file exists
        vmaffinityxmlutil.checkIfGroupsConfigExists()

        #initialize all UI components to none
        self.vmaDeleteruleBanner = None
        self.configuredAffinityRulesScrolledwindow = None
        self.selectedAffinityRuleVMsScrolledwindow = None
        self.selectedRuleDesTextview = None
        self.cancelRuleDeletionButton = None
        self.DeleteRuleButton = None
        self.errorLabel = None
       
        self.allGroupsClist = None
        self.VMsInGroupClist = None       
        
        #CList related variables
        self.selectedGroupRow = None
        self.selectedGroupColumn = None
        
        self.allGroupDictionary = None
        
        vmmGObjectUI.__init__(self, "vmaffinity-deleterule.ui", "vmaffinity-deleterule")

        #Connect signals
        self.window.connect_signals({
            "on_cancelRuleDeletionButton_clicked": self.close,
            "on_DeleteRuleButton_clicked":self.deleteAffinityRuleButtonClicked,
            "on_vmaffinity-deleterule_delete_event": self.close,})
        
        #Initialize all UI components
        self.initUIComponents()
        

        self.err = vmmErrorDialog()