def __init__(self):
        HasName.__init__(self, self.__name__)
        CanBeStarted.__init__(self)

        self.__dataFacs       = []
        self.__mimemap        = {}
        self.__defaultDataFac = None
        self.__bgpixmap       = None
        self.__logger         = get_logger("Applet:"+self.__name__)

        # -- icon--
        self.__icon = None
        if QtCore.QCoreApplication.instance():
            if self.__icon_rc__:
                self.__icon = QtGui.QIcon(self.__icon_rc__)
            else:
                self.__icon = QtGui.QIcon()

        self.add_data_types([df() for df in self.__datafactories__])
Exemple #2
0
#       OpenAlea WebSite : http://openalea.gforge.inria.fr
#
###############################################################################

__license__ = "CeCILL v2"
__revision__ = " $Id$ "

from openalea.secondnature.base_mixins import HasName
from openalea.secondnature.base_mixins import CanBeStarted
from openalea.secondnature.project     import ProjectManager
from openalea.core.singleton           import Singleton
from openalea.vpltk.qt import QtGui, QtCore

from openalea.core.logger import get_logger

logger = get_logger(__name__)
import sys


class DataFactory(HasName, CanBeStarted):

    __metaclass__ = Singleton

    # -- API ATTRIBUTES --
    __name__             = ""
    __created_mimetype__ = ""
    __opened_mimetypes__ = []
    __icon_rc__          = None
    __supports_open__    = False
    __hidden__           = False
Exemple #3
0
        return self.message


class IllFormedUrlError (Exception):
    def __init__(self, url):
        Exception.__init__(self)
        self.message = "Url is ill-formed : %s" % (url)

    def __str__(self):
        return self.message


###############################################################################
# Logging

pmanLogger = logger.get_logger(__name__)
logger.connect_loggers_to_handlers(pmanLogger, logger.get_handler_names())


class Logger(object):
    """ OpenAlea logging class """

    def __init__(self):
        self.log_index = 0
        self.log_file = os.path.join(tempfile.gettempdir(), "openalea.log")

        f = open(self.log_file, 'w')
        f.write(u"OpenAlea Log\n\n")
        f.close()

    def add(self, msg):
Exemple #4
0
def test1():
    log = logger.get_logger('test.logger')
    log.info('-> test1')
    for i in range(10):
        log.debug('    i= %d' % i)
    log.info('<- test1')
Exemple #5
0
__license__ = "Cecill-C"
__revision__ = " $Id$ "


import os
import sys
import platform
from ConfigParser import SafeConfigParser, NoSectionError, NoOptionError
from openalea.core.singleton import Singleton, ProxySingleton
from openalea.core import logger

# [pkgmanager]
# path = '.', '/home/user/directory'


settingsLogger = logger.get_logger(__name__)


##############################################################################
# Directories functions
##############################################################################


def get_default_home_dir():
    """ Return the home directory (valid on linux and windows) """

    if sys.platform != 'win32':
        return os.path.expanduser('~')

    def valid(path):
        if path and os.path.isdir(path):
Exemple #6
0
#
#       OpenAlea WebSite : http://openalea.gforge.inria.fr
#
###############################################################################

__license__ = "Cecill-C"
__revision__ = " $Id$ "
"""
Contains the implementation of a recusively splittable UI.
"""

from openalea.vpltk.qt import qt

try:
    from openalea.core import logger
    myLogger = logger.get_logger("openalea.visualea.splitterui")
    logger.connect_loggers_to_handlers(myLogger, logger.get_handler_names())

    def log(level, msg):
        myLogger.log(level, msg)
except:

    def log(level, msg):
        print "debug messsage", level, msg


class RubberBandScrollArea(qt.QtGui.QScrollArea):
    """ A customized QScrollArea that can be scrolled
    with a middle mouse drag in a blank area.
    Scrolling can be locked to X or Y. (default is not locked)
Exemple #7
0
__license__ = "Cecill-C"
__revision__ = " $Id$ "

import os
import sys
import platform
import atexit
from configparser import ConfigParser, NoSectionError, NoOptionError
from openalea.core.singleton import Singleton, ProxySingleton
from openalea.core import logger
import six

# [pkgmanager]
# path = '.', '/home/user/directory'

settingsLogger = logger.get_logger(__name__)

##############################################################################
# Directories functions
##############################################################################


def get_default_home_dir():
    """ Return the home directory (valid on linux and windows) """

    if sys.platform != 'win32':
        return os.path.expanduser('~')

    def valid(path):
        if path and os.path.isdir(path):
            return True
Exemple #8
0
    from openalea.plantgl.all import (Scene, Translation, Vector3, Geometry,
                                      AxisRotation, AxisRotated, Transform4,
                                      BaseOrientation, Shape, Material, Color3,
                                      PglTurtle, Mesh, Translated)
except:
    Material = tuple
    Color3 = tuple
    pass
import random
from math import pi

# import read_lsystem string & deps from newmtg/io
try:
    from openalea.core.logger import get_logger, logging

    logger = get_logger('openalea.mtg')
    _ch = logging.StreamHandler()
    logger.addHandler(_ch)
except:
    logger = None

debug = 0


def log(*args):
    if debug:
        if logger:
            logger.debug('  '.join(map(str, args)))
        else:
            print '  '.join(map(str, args))
Exemple #9
0
#
###############################################################################

__license__ = "Cecill-C"
__revision__ = " $Id: splitterui.py 4222 2014-04-23 09:15:04Z gbaty $ "


"""
Contains the implementation of a recursively splittable UI.
"""

from openalea.vpltk.qt import QtCore, QtGui

try:
    from openalea.core import logger
    myLogger = logger.get_logger("openalea.visualea.splitterui")
    logger.connect_loggers_to_handlers(myLogger, logger.get_handler_names())

    def log(level, msg):
        myLogger.log(level, msg)
except:
    def log(level, msg):
        print "debug messsage", level, msg

from collections import deque


class BinaryTree(object):

    """A quirky binary tree that only implements
    node splitting methods. It also implements a