Skip to content
Snippets Groups Projects
Select Git revision
  • c697f921abc965ab3a4082f86da87695cfc9fe12
  • master default protected
  • develop protected
  • cmake_boost_refactor
  • ubuntu_ci
  • mmtf
  • non-orthogonal-maps
  • no_boost_filesystem
  • data_viewer
  • 2.11.1
  • 2.11.0
  • 2.10.0
  • 2.9.3
  • 2.9.2
  • 2.9.1
  • 2.9.0
  • 2.8.0
  • 2.7.0
  • 2.6.1
  • 2.6.0
  • 2.6.0-rc4
  • 2.6.0-rc3
  • 2.6.0-rc2
  • 2.6.0-rc
  • 2.5.0
  • 2.5.0-rc2
  • 2.5.0-rc
  • 2.4.0
  • 2.4.0-rc2
29 results

gfx_node.cc

Blame
  • render_mode_widget.py NaN GiB
    #------------------------------------------------------------------------------
    # This file is part of the OpenStructure project <www.openstructure.org>
    #
    # Copyright (C) 2008-2010 by the OpenStructure authors
    #
    # This library is free software; you can redistribute it and/or modify it under
    # the terms of the GNU Lesser General Public License as published by the Free
    # Software Foundation; either version 3.0 of the License, or (at your option)
    # any later version.
    # This library is distributed in the hope that it will be useful, but WITHOUT
    # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    # FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
    # details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with this library; if not, write to the Free Software Foundation, Inc.,
    # 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    #------------------------------------------------------------------------------
    # -*- coding: utf-8 -*-
    
    from ost import gui
    from ost import gfx
    from PyQt4 import QtCore, QtGui
    
    
    #Tube Render Options
    class RenderModeWidget(QtGui.QWidget):
      def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.options_ = None
        self.entities_ = set()
    
      def GetText(self):
        raise NotImplementedError, "Subclasses must define GetText()"
      
      def GetRenderMode(self):
        raise NotImplementedError, "Subclasses must define GetRenderMode()"
        
      def UpdateGui(self, options):
        pass
      
      def Update(self):
        self.entities_.clear()
        
        scene_selection = gui.SceneSelection.Instance()
        if scene_selection.GetActiveNodeCount() == 0 and scene_selection.GetActiveViewCount() == 0:
          self.setEnabled(False)
          return
        
        if scene_selection.GetActiveNodeCount() > 0 :
          for i in range(0,scene_selection.GetActiveNodeCount()):
            entity = scene_selection.GetActiveNode(i)
            if isinstance(entity, gfx.Entity):
              self.entities_.add(entity)
            else:
              self.setEnabled(False)
              return
    
        if scene_selection.GetActiveViewCount() > 0 :
          entity = scene_selection.GetViewEntity()
          self.entities_.add(entity)
        
        for entity in self.entities_:
          self.options_=entity.GetOptions(self.GetRenderMode())
          self.entities_.remove(entity)
          break
        self.UpdateGui(self.options_)
        
        QtGui.QWidget.setEnabled(self,True)
        
      def ApplyOptions(self):
        for entity in self.entities_:
          entity.SetOptions(self.GetRenderMode(),self.options_)
    
      def GetOptions(self):
        return self.options_