Files
create/src/Gui/TreeParams.py
André Althaus 8ed244df3f Add a new preference for the visibility icons
Add a preference to Display->UI that allows the user to choose if
the visibility icons are shown in the tree view.
2024-02-21 19:28:28 +01:00

97 lines
4.9 KiB
Python

# -*- coding: utf-8 -*-
# ***************************************************************************
# * Copyright (c) 2022 Zheng Lei (realthunder) <realthunder.dev@gmail.com>*
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
# * This program 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 Library General Public License for more details. *
# * *
# * You should have received a copy of the GNU Library General Public *
# * License along with this program; if not, write to the Free Software *
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# * USA *
# * *
# ***************************************************************************
'''Auto code generator for parameters in Preferences/TreeView
'''
import sys
from os import sys, path
# import Tools/params_utils.py
sys.path.append(path.join(path.dirname(path.dirname(path.abspath(__file__))), 'Tools'))
import params_utils
from params_utils import ParamBool, ParamInt, ParamString, ParamUInt,\
ParamFloat, ParamSpinBox, ParamColor, ParamHex
NameSpace = 'Gui'
ClassName = 'TreeParams'
ParamPath = 'User parameter:BaseApp/Preferences/TreeView'
ClassDoc = 'Convenient class to obtain tree view related parameters'
SourceFile = 'Tree.cpp'
Params = [
ParamBool('SyncSelection', True, on_change=True),
ParamBool('CheckBoxesSelection',False, on_change=True, title="Show item checkbox"),
ParamBool('SyncView', True),
ParamBool('PreSelection', True),
ParamBool('SyncPlacement', False),
ParamBool('RecordSelection', True),
ParamInt('DocumentMode', 2, on_change=True),
ParamInt('StatusTimeout', 100),
ParamInt('SelectionTimeout', 100),
ParamInt('PreSelectionTimeout', 500),
ParamInt('PreSelectionDelay', 700),
ParamInt('PreSelectionMinDelay', 200),
ParamBool('RecomputeOnDrop', True),
ParamBool('KeepRootOrder', True),
ParamBool('TreeActiveAutoExpand', True),
ParamUInt('TreeActiveColor', 0xe6e6ffff, on_change=True),
ParamUInt('TreeEditColor', 0x929200ff, on_change=True),
ParamUInt('SelectingGroupColor', 0x408081ff, on_change=True),
ParamBool('TreeActiveBold', True, on_change=True),
ParamBool('TreeActiveItalic', False, on_change=True),
ParamBool('TreeActiveUnderlined', False, on_change=True),
ParamBool('TreeActiveOverlined', False, on_change=True),
ParamInt('Indentation', 0, on_change=True),
ParamBool('LabelExpression', False),
ParamInt('IconSize', 0, on_change=True),
ParamInt('FontSize', 0, on_change=True),
ParamInt('ItemSpacing', 0, on_change=True),
ParamHex('ItemBackground', 0, on_change=True, title='Item background color', proxy=ParamColor(),
doc = "Tree view item background. Only effective in overlay."),
ParamInt('ItemBackgroundPadding', 0, on_change=True, title="Item background padding", proxy=ParamSpinBox(0, 100, 1),
doc = "Tree view item background padding."),
ParamBool('HideColumn', True, on_change=True, title="Hide extra column",
doc = "Hide extra tree view column for item description."),
ParamBool('HideScrollBar', True, title="Hide scroll bar",
doc = "Hide tree view scroll bar in dock overlay."),
ParamBool('HideHeaderView', True, title="Hide header",
doc = "Hide tree view header view in dock overlay."),
ParamBool('ResizableColumn', False, on_change=True, title="Resizable columns",
doc = "Allow tree view columns to be manually resized."),
ParamInt('ColumnSize1', 0),
ParamInt('ColumnSize2', 0),
ParamBool('TreeToolTipIcon', False, title='Show icon in tool tip'),
ParamBool('VisibilityIcon', False, on_change=True, title='Show visibility icon',
doc = "If enabled, show an eye icon before the tree view items, showing the items visibility status. When clicked the visibility is toggled"),
]
def declare_begin():
params_utils.declare_begin(sys.modules[__name__])
def declare_end():
params_utils.declare_end(sys.modules[__name__])
def define():
params_utils.define(sys.modules[__name__])
params_utils.init_params(Params, NameSpace, ClassName, ParamPath)