guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ......

309
index modules | next | guidata 1.6.1 documentation »

Transcript of guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ......

Page 1: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |guidata1.6.1documentation »

Page 2: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

guidata

BasedontheQtPythonbindingmodulePyQt4,guidataisaPythonlibrarygeneratinggraphicaluserinterfacesforeasydataseteditinganddisplay.ItalsoprovideshelpersandapplicationdevelopmenttoolsforPyQt4.

Externalresources:

Bugreportsandfeaturerequests:GoogleCodeHelp,supportanddiscussionsaroundtheproject:GoogleGroup

Contents:

OverviewInstallation

DependenciesInstallationHelpandsupport

HowtocontributeSubmittingchangesCodingguidelinesPyQtv4.4compatibilityissuesPyQt/PySidecompatibility

Python3compatibilityFixingtrivialthingswith2to3Fixingunicodeissues

ExamplesBasicexampleOtherexamples

Page 3: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |guidata1.6.1documentation »

GUIDatareferencedatasetqthelpersdisthelpersconfigtoolsuserconfigutils

Indicesandtables:

IndexSearchPage

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 4: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation »

Page 5: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation »

PythonModuleIndex

c|d|g|q|u

cguidata.configtools

dguidata.dataset

guidata.dataset.dataitemsguidata.dataset.datatypesguidata.disthelpers

gguidata

qguidata.qthelpers

uguidata.userconfig

guidata.utils

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 6: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

Page 7: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Overview

Whendeveloppingscientificsoftware,fromthesimplestscripttothemostcomplexapplication,onesystematicallyneedstomanipulatedatasets(e.g.parametersforadataprocessingfeature).Thesedatasetsmayconsistofvariousdatatypes:realnumbers(e.g.physicalquantities),integers(e.g.arrayindexes),strings(e.g.filenames),booleans(e.g.enable/disableanoption),andsoon.

Mostofthetime,theprogrammerwillneedthefollowingfeatures:

allowtheusertoentereachparameterthroughagraphicaluserinterface,usingwidgetswhichareadaptedtodatatypes(e.g.asinglecomboboxorcheckboxesaresuitableforpresentinganoptionselectionamongmultiplechoices)enteredvalueshavetobestoredbytheprogramwithaconventionwhichisagainadaptedtodatatypes(e.g.whenstoringacomboboxselectionvalue,shouldwestoretheoptionstring,thelistindexoranassociatedkey?)usingthestoredvalueseasily(e.g.fordataprocessing)byregroupingparametersindatastructuresshowingthestoredvaluesinadialogboxorwithinagraphicaluserinterfacelayout,againwithwidgetsadaptedtodatatypes

Thislibraryaimstoprovidethesefeaturesthankstoautomaticgraphicaluserinterfacegenerationfordataseteditinganddisplay.WidgetsinsideGUIsareautomaticallygenerateddependingoneachdataitemtype.

Page 8: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

Theguidatalibraryalsoprovidesthefollowingfeatures:

guidata.qthelpers:PyQt4helpersguidata.disthelpers:py2exhelpersguidata.userconfig:.iniconfigurationmanagementhelpers(basedonPythonstandardmoduleConfigParser)guidata.configtools:library/applicationdatamanagementguidata.gettext_helpers:translationhelpers(basedontheGNUtoolgettext)guidata.guitest:automaticGUI-basedtestlauncherguidata.utils:miscelleneousutilities

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 9: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

Page 10: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Installation

Page 11: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Dependencies

Requirements:

Python>=v2.5PyQt44.x(x>=3;recommendedx>=4)spyderlib>=v2.0.10forthetestlauncherandarray/dictionnaryeditors

OptionalPythonmodules:

h5py(HDF5filesI/O)py2exe(applicationdeploymentonWindowsplatforms)

Otheroptionalmodules:

gettext

Page 12: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Installation

Fromthesourcepackage:pythonsetup.pyinstall

Page 13: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

Helpandsupport

Externalresources:

Bugreportsandfeaturerequests:GoogleCodeHelp,supportanddiscussionsaroundtheproject:GoogleGroup

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 14: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

Page 15: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Howtocontribute

Page 16: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

SubmittingchangesDuetoconfidentialityissues,wearenotablefornowtopublishanysource-controlledrepository(evenifwedohaveaMercurialrepositoryfortheproject).However,thisdoesnotpreventmotivatedusersfromcontributingtotheprojectbysendingpatchesappliedtothelastpublishedversionofthelibrary.Tocompensatetheabsenceofsourcerepository,wetrytoupdatethelibraryasoftenaswecaninordertokeepthepublicsourcearchiveversionascloseaspossibletotheinternaldevelopmentversion.

Page 17: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

CodingguidelinesIngeneral,wetrytofollowthestandardPythoncodingguidelines,whichcoveralltheimportantcodingaspects(docstrings,comments,namingconventions,importstatements,...)asdescribedhere:

StyleGuideforPythonCode

Theeasiestwaytocheckthatyourcodeisfollowingthoseguidelinesistorunpylint(anotegreaterthan8/10seemstobeareasonnablegoal).

Page 18: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

PyQtv4.4compatibilityissuesTheprojecthastobecompatiblewithPyQt>=v4.4whichmeansthatthefollowingrecommendationsshouldbefollowed:

avoidusingsuper:whenwritingclassesderivingfromaQObjectchildclass(i.e.almostanysingleclassimportedfromQtGuiorQtCore),thesuperbuiltin-functionshouldnotbeusedoutsidetheconstructormethod(calltheparentclassmethoddirectlyinstead)beforeusinganyfunctionormethodfromPyQt4,pleasecheckthatthefeatureyouareabouttousewasalreadyimplementedinPyQt4v4.4(morepreciselyintheQtversionusedinPyQt4v4.4)–ifnot,aworkaroundshouldbeimplementedtoavoidbreakingcompatibilitydonotusethePyQt-specificQFileDialogstaticmethods(notpresentinQt)whichwereintroducedinPyQtv4.6:getOpenFileNameAndFilter,getOpenFileNamesAndFilterandgetSaveFileNameAndFilter(guidataprovideswrappersaroundQFileDialogstaticmethodshandlingtheselectedfilterwhichweretakenfromthespyderliblibrary(frommodulespyderlib.qt.compat):theyareavailableinguidata.qt.compat)

Page 19: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

PyQt/PySidecompatibilityInthenearfuture,theprojectwillbeofficiallycompatiblewithbothPyQtandPySide.

Initscurrentimplementation,ithastobecompatiblewithPyQtAPI#1(oldPyQtversions)andAPI#2(PySide-compatibleAPI,PyQt>=v4.6),whichmeansthatthefollowingrecommendationsshouldbefollowed:

QVariantobjectsmustnotbeused(API#2compatibility)QStringandQStringListobjectsmustnotbeused(API#2compatibility)Whenconnectingbuilt-inC++signalswhichwereoriginallymadetopassstrings(orstringlists),theargumentsshouldalwaysbeassumedtobeQString(orQStringList)objects(API#1compatibility)andsobeconvertedsystematicallytothePythonequivalentobject,i.e.unicode(orlist).

Page 20: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Python3compatibility

RegardingPython3compatibility,wechosetohandleitbymaintainingasinglesourcebranchbeingcompatiblewithbothPython2.6-2.7andPython3.

Hereiswhatwehavedone.

Page 21: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Fixingtrivialthingswith2to3Thefirststepistorunthe2to3script(seePythondocumentation)toconvertprintstatementstoprintfunctioncalls–notethatyoursourcedirectory(nameddirectory_name)hastobeversioncontrolled(nobackupisdonethankstothe-noptionflag).python2to3.py-w-n-fprintdirectory_name

Openeachmodifiedsourcefileandaddthefollowinglineatthebeginning:from__future__importprint_function

Thenrunagain2to3withallotherPython2/3compatiblefixers:python2to3.py-w-n-fapply-fdict-fexcept-f

exitfunc-ffilter-fhas_key-fmap-fne-f

raise-fws_comma-fxrange-fxreadlines-fzip

directory_name

Afterthesetwosteps,yourcodeshouldbecompatiblewithPython2.6,2.7and3.x,butonlywithrespecttothesimplestchangesthatoccuredbetweenPython2andPython3.However,thisastepforwardtoPython3compatibilitywithoutbreakingPython2.6+compatibility.

Page 22: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

FixingunicodeissuesInPython3,unicodeandstrstringshavebeenreplacedbystrandbytesstrings:

stristhetextstringtype,supportingunicodecharactersnativelybytesisthebinarystringtype.

Asaconsequence,Python2codeinvolvingstringsmaycausecompatibilityissueswithPython3.Forexample:

fileI/OmayreturnbytesinsteadofstrinPython3(dependingontheopenmode):thiscanbesolvedbycallingthedecodemethodonthebytesobject(thiswillworkonbothPython2strandPython3`bytesobjects)inPython3.0-3.2,theu’unicodetext’oru”unicodetext”syntaxisnotallowedandwillraiseaSyntaxError:thiscanbesolvedbyinsertingthefrom__future__importunicode_literalsatthebeginningofthescriptandbyremovingalltheustringprefixesinPython3isinstance(text,basestring)canbereplacedbyis_text_string(text)(functionoftheguidata.py3compatmodule)inPython3isinstance(text,unicode)canbereplacedbyis_unicode(text)(functionoftheguidata.py3compatmodule)inPython3unicode(text)canbereplacedby

Page 23: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

to_text_string(text)(functionoftheguidata.py3compatmodule)

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 24: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

Page 25: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Examples

Page 26: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

BasicexampleSourcecode:

importguidata

guidata.qapplication()#notrequiredifaQApplicationhasalreadybeencreated

importguidata.dataset.datatypesasdt

importguidata.dataset.dataitemsasdi

classProcessing(dt.DataSet):

"""Example"""

a=di.FloatItem("Parameter#1",default=2.3)

b=di.IntItem("Parameter#2",min=0,max=10,default

type=di.ChoiceItem("Processingalgorithm",

("type1","type2","type3"

param=Processing()

param.edit()

Output:

Assigningvaluestodataitemsorusingthesevaluesisveryeasy:

param.a=5.34

param.type="type3"

Page 27: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

print"a*b=",param.a*param.b

Page 28: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

OtherexamplesAlotofexamplesareavailableintheguidatatestmodule

fromguidataimporttests

tests.run()

Thetwolinesaboveexecutetheguidatatestlauncher:

Allguidataitemsdemo

importtempfile,atexit,shutil,datetime,numpyas

Page 29: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

fromguidata.dataset.datatypesimportDataSet,BeginGroup

fromguidata.dataset.dataitemsimport(FloatItem,IntItem

MultipleChoiceItem,ImageChoiceItem

StringItem,TextItem,ColorItem

FileOpenItem,DirectoryItem

DateItem,DateTimeItem)

#Creatingtemporaryfilesandregisteringcleanupfunctions

TEMPDIR=tempfile.mkdtemp(prefix="test_")

atexit.register(shutil.rmtree,TEMPDIR)

FILE_ETA=tempfile.NamedTemporaryFile(suffix=".eta"

atexit.register(FILE_ETA.close)

FILE_CSV=tempfile.NamedTemporaryFile(suffix=".csv"

atexit.register(FILE_CSV.close)

classTestParameters(DataSet):

"""

DataSettest

ThefollowingtextistheDataSet'comment':<br>Plaintextor

<b>richtext<sup>2</sup></b>arebothsupported,

aswellasspecialcharacters(α,β,γ,δ,...)

"""

dir=DirectoryItem("Directory",TEMPDIR)

fname=FileOpenItem("Openfile",("csv","eta"

fnames=FilesOpenItem("Openfiles","csv",FILE_CSV

fname_s=FileSaveItem("Savefile","eta",FILE_ETA

string=StringItem("String")

text=TextItem("Text")

float_slider=FloatItem("Float(withslider)",

default=0.5,min=0,max

integer=IntItem("Integer",default=5,min=3,

).set_pos(col=1)

dtime=DateTimeItem("Date/time",default=datetime

date=DateItem("Date",default=datetime.date(2010

bool1=BoolItem("Booleanoptionwithoutlabel"

bool2=BoolItem("Booleanoptionwithlabel","Label"

Page 30: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

_bg=BeginGroup("Asubgroup")

color=ColorItem("Color",default="red")

choice=ChoiceItem("Singlechoice1",

[('16',"firstchoice"),('32'

('64',"thirdchoice")])

mchoice2=ImageChoiceItem("Singlechoice2",

[("rect","firstchoice"

("ell","secondchoice"

("qcq","thirdchoice"

)

_eg=EndGroup("Asubgroup")

floatarray=FloatArrayItem("Floatarray",default

format="%.2e").set_pos

mchoice3=MultipleChoiceItem("MCtype1",

[str(i)foriin

).horizontal(4)

mchoice1=MultipleChoiceItem("MCtype2",

["firstchoice","secondchoice"

"thirdchoice"]).

if__name__=="__main__":

#CreateQApplication

importguidata

_app=guidata.qapplication()

e=TestParameters()

e.floatarray[:,0]=np.linspace(-5,5,50)

print(e)

ife.edit():

print(e)

e.view()

Page 31: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

All(GUI-related)guidatafeaturesdemo

importtempfile,atexit,shutil

importnumpyasnp

Page 32: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

fromguidata.dataset.datatypesimport(DataSet,BeginTabGroup

BeginGroup,EndGroup

fromguidata.dataset.dataitemsimport(FloatItem,IntItem

MultipleChoiceItem,ImageChoiceItem

StringItem,TextItem,ColorItem

FileOpenItem,DirectoryItem

fromguidata.dataset.qtwidgetsimportDataSetEditLayout

fromguidata.dataset.qtitemwidgetsimportDataSetWidget

#Creatingtemporaryfilesandregisteringcleanupfunctions

TEMPDIR=tempfile.mkdtemp(prefix="test_")

atexit.register(shutil.rmtree,TEMPDIR)

FILE_ETA=tempfile.NamedTemporaryFile(suffix=".eta"

atexit.register(FILE_ETA.close)

FILE_CSV=tempfile.NamedTemporaryFile(suffix=".csv"

atexit.register(FILE_CSV.close)

classSubDataSet(DataSet):

dir=DirectoryItem("Directory",TEMPDIR)

fname=FileOpenItem("Singlefile(open)",("csv"

fnames=FilesOpenItem("Multiplefiles","csv",

fname_s=FileSaveItem("Singlefile(save)","eta"

classSubDataSetWidget(DataSetWidget):

klass=SubDataSet

classSubDataSetItem(ObjectItem):

klass=SubDataSet

DataSetEditLayout.register(SubDataSetItem,SubDataSetWidget

DataSetShowLayout.register(SubDataSetItem,SubDataSetWidget

classTestParameters(DataSet):

"""

Page 33: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

DataSettest

ThefollowingtextistheDataSet'comment':<br>Plaintextor

<b>richtext<sup>2</sup></b>arebothsupported,

aswellasspecialcharacters(α,β,γ,δ,...)

"""

files=SubDataSetItem("files")

string=StringItem("String")

text=TextItem("Text")

_bg=BeginGroup("Asubgroup")

float_slider=FloatItem("Float(withslider)",

default=0.5,min=0,max

fl1=FloatItem("Current",default=10.,min=1,

help="Thresholdcurrent")

fl2=FloatItem("Float(col=1)",default=1.,min

help="Helponfloatitem").set_pos

bool1=BoolItem("Booleanoptionwithoutlabel"

bool2=BoolItem("Booleanoptionwithlabel","Label"

color=ColorItem("Color",default="red")

choice=ChoiceItem("Singlechoice",

[(16,"firstchoice"),(32,

(64,"thirdchoice")]

).set_pos(col=1,colspan=2)

_eg=EndGroup("Asubgroup")

floatarray=FloatArrayItem("Floatarray",default

format="%.2e").set_pos

g0=BeginTabGroup("group")

mchoice1=MultipleChoiceItem("MCtype1",

["firstchoice","secondchoice"

"thirdchoice"]).

mchoice2=ImageChoiceItem("MCtype2",

[("rect","firstchoice"

("ell","secondchoice"

("qcq","thirdchoice"

).set_pos(col=1)\

.set_prop("display",

mchoice3=MultipleChoiceItem("MCtype3",

Page 34: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[str(i)foriin

eg0=EndTabGroup("group")

integer_slider=IntItem("Integer(withslider)"

default=5,min=0,max=100

integer=IntItem("Integer",default=5,min=3,

if__name__=="__main__":

#CreateQApplication

importguidata

_app=guidata.qapplication()

e=TestParameters()

e.floatarray[:,0]=np.linspace(-5,5,50)

print(e)

ife.edit():

print(e)

e.view()

Page 35: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

EmbeddingguidataobjectsinGUIlayouts

fromguidata.qt.QtGuiimportQMainWindow,QSplitter

fromguidata.qt.QtCoreimportSIGNAL

fromguidata.dataset.datatypesimport(DataSet,BeginGroup

BeginTabGroup

fromguidata.dataset.dataitemsimport(ChoiceItem,

DirectoryItem

fromguidata.dataset.qtwidgetsimportDataSetShowGroupBox

Page 36: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

fromguidata.configtoolsimportget_icon

fromguidata.qthelpersimportcreate_action,add_actions

#Localtestimport:

fromguidata.tests.activable_datasetimportExampleDataSet

classAnotherDataSet(DataSet):

"""

Example2

<b>Simpledatasetexample</b>

"""

param0=ChoiceItem("Choice",['deazdazk','aeazee'

param1=FloatItem("Foobar1",default=0,min=0

a_group=BeginGroup("Agroup")

param2=FloatItem("Foobar2",default=.93)

param3=FloatItem("Foobar3",default=123)

_a_group=EndGroup("Agroup")

classExampleMultiGroupDataSet(DataSet):

param0=ChoiceItem("Choice",['deazdazk','aeazee'

param1=FloatItem("Foobar1",default=0,min=0

t_group=BeginTabGroup("Tgroup")

a_group=BeginGroup("Agroup")

param2=FloatItem("Foobar2",default=.93)

dir1=DirectoryItem("Directory1")

file1=FileOpenItem("File1")

_a_group=EndGroup("Agroup")

b_group=BeginGroup("Bgroup")

param3=FloatItem("Foobar3",default=123)

_b_group=EndGroup("Bgroup")

c_group=BeginGroup("Cgroup")

param4=FloatItem("Foobar4",default=250)

_c_group=EndGroup("Cgroup")

_t_group=EndTabGroup("Tgroup")

classOtherDataSet(DataSet):

title=StringItem("Title",default="Title")

Page 37: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

icon=ChoiceItem("Icon",(("python.png","Python"

("guidata.svg","guidata"

("settings.png","Settings"

opacity=FloatItem("Opacity",default=1.,min=.

classMainWindow(QMainWindow):

def__init__(self):

QMainWindow.__init__(self)

self.setWindowIcon(get_icon('python.png'))

self.setWindowTitle("Applicationexample")

#Instantiatedataset-relatedwidgets:

self.groupbox1=DataSetShowGroupBox("Activabledataset"

ExampleDataSet

self.groupbox2=DataSetShowGroupBox("Standarddataset"

AnotherDataSet

self.groupbox3=DataSetEditGroupBox("Standarddataset"

OtherDataSet

self.groupbox4=DataSetEditGroupBox("Standarddataset"

ExampleMultiGroupDataSet

self.connect(self.groupbox3,SIGNAL("apply_button_clicked()"

self.update_window)

self.update_groupboxes()

splitter=QSplitter(self)

splitter.addWidget(self.groupbox1)

splitter.addWidget(self.groupbox2)

splitter.addWidget(self.groupbox3)

splitter.addWidget(self.groupbox4)

self.setCentralWidget(splitter)

self.setContentsMargins(10,5,10,5)

#Filemenu

file_menu=self.menuBar().addMenu("File")

quit_action=create_action(self,"Quit",

shortcut="Ctrl+Q"

icon=get_std_icon

Page 38: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

tip="Quitapplication"

triggered=self.close

add_actions(file_menu,(quit_action,))

#Editmenu

edit_menu=self.menuBar().addMenu("Edit")

editparam1_action=create_action(self,"Editdataset1"

triggered=

editparam2_action=create_action(self,"Editdataset2"

triggered=

editparam4_action=create_action(self,"Editdataset4"

triggered=

add_actions(edit_menu,(editparam1_action,

editparam2_action,

editparam4_action))

defupdate_window(self):

dataset=self.groupbox3.dataset

self.setWindowTitle(dataset.title)

self.setWindowIcon(get_icon(dataset.icon))

self.setWindowOpacity(dataset.opacity)

defupdate_groupboxes(self):

self.groupbox1.dataset.set_readonly()#Thisisanactivabledataset

self.groupbox1.get()

self.groupbox2.get()

self.groupbox4.get()

defedit_dataset1(self):

self.groupbox1.dataset.set_writeable()#Thisisanactivabledataset

ifself.groupbox1.dataset.edit():

self.update_groupboxes()

defedit_dataset2(self):

ifself.groupbox2.dataset.edit():

self.update_groupboxes()

Page 39: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

defedit_dataset4(self):

ifself.groupbox4.dataset.edit():

self.update_groupboxes()

if__name__=='__main__':

fromguidata.qt.QtGuiimportQApplication

importsys

app=QApplication(sys.argv)

window=MainWindow()

window.show()

sys.exit(app.exec_())

Dataitemgroupsandgroupselection

fromguidata.dataset.datatypesimportDataSet,BeginGroup

fromguidata.dataset.dataitemsimportBoolItem,FloatItem

prop1=ValueProp(False)

prop2=ValueProp(False)

classGroupSelection(DataSet):

"""

Groupselectiontest

<b>Groupselectionexample:</b>

"""

g1=BeginGroup("group1")

enable1=BoolItem("Enableparameterset#1",

Page 40: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

help="Ifdisabled,thefollowingparameterswillbeignored"

default=False).set_prop("display"

param1_1=FloatItem("Param1.1",

default=0,min=0).set_prop

param1_2=FloatItem("Param1.2",

default=.93).set_prop("display"

_g1=EndGroup("group1")

g2=BeginGroup("group2")

enable2=BoolItem("Enableparameterset#2",

help="Ifdisabled,thefollowingparameterswillbeignored"

default=True).set_prop("display"

param2_1=FloatItem("Param2.1",

default=0,min=0).set_prop

param2_2=FloatItem("Param2.2",

default=.93).set_prop("display"

_g2=EndGroup("group2")

if__name__=='__main__':

#CreateQApplication

importguidata

_app=guidata.qapplication()

prm=GroupSelection()

prm.edit()

print(prm)

Page 41: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Activabledatasets

fromguidata.dataset.datatypesimportActivableDataSet

fromguidata.dataset.dataitemsimportBoolItem,FloatItem

classExampleDataSet(ActivableDataSet):

"""

Example

<b>Activabledatasetexample</b>

"""

enable=BoolItem("Enableparameterset",

help="Ifdisabled,thefollowingparameterswillbeignored"

default=False)

param0=ChoiceItem("Param0",['choice#1','choice#2'

param1=FloatItem("Param1",default=0,min=0)

param2=FloatItem("Param2",default=.93)

color=ColorItem("Color",default="red")

ExampleDataSet.active_setup()

if__name__=='__main__':

Page 42: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

#CreateQApplication

importguidata

_app=guidata.qapplication()

#Editingmode:

prm=ExampleDataSet()

prm.set_writeable()

prm.edit()

#Showingmode:

prm.set_readonly()

prm.view()

Datasetgroups

fromguidata.tests.all_featuresimportTestParameters

fromguidata.dataset.datatypesimportDataSetGroup

if__name__=="__main__":

#CreateQApplication

importguidata

_app=guidata.qapplication()

e1=TestParameters("DataSet#1")

e2=TestParameters("DataSet#2")

Page 43: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |next |previous |guidata1.6.1documentation »

g=DataSetGroup([e1,e2],title='Parametersgroup'

g.edit()

print(e1)

g.edit()

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 44: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |previous |guidata1.6.1documentation »

Page 45: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

GUIDatareference

Page 46: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

datasetTheguidata.datasetpackageprovidesthecorefeaturesfordatasetdisplayandeditingwithautomaticallygeneratedgraphicaluserinterfaces.

dataset.dataitemsTheguidata.dataset.dataitemsmodulecontainsimplementationforconcreteDataItems.

classguidata.dataset.dataitems.BoolItem(text=u'',label=u'',default=None,help=u'')

Constructabooleandataitem

text[string]:form’sfieldname(optional)label[string]:namedefault[string]:defaultvalue(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)

Page 47: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

Page 48: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

type

aliasofbool

classguidata.dataset.dataitems.ButtonItem(label,

Page 49: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]callback,icon=None,default=None,help=u'')Constructasimplebuttonthatcallsamethodwhenhit

label[string]:textshownonthebutton

callback[function]:functionwithfourparameters(dataset,item,value,parent)

dataset[DataSet]:instanceoftheparentdatasetitem[DataItem]:instanceofButtonItem(i.e.self)value[unspecified]:valueofButtonItem(defaultButtonItemvalueorlastvaluereturnedbythecallback)parent[QObject]:button’sparentwidget

icon[QIconorstring]:iconshowonthebutton(optional)(string:iconfilenameasinguidata/guiqwtimagesearchpaths)

default[unspecified]:defaultvaluepassedtothecallback(optional)

help[string]:textshowninbutton’stooltip(optional)

Thevalueofthisitemisunspecifiedbutispassedtothecallbackalongwiththewholedataset.Thevalueisassignedthecallback`sreturnvalue.

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

Page 50: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)

Page 51: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.ChoiceItem(label,choices,default=<class'guidata.dataset.dataitems.FirstChoice'>,help=u'')

Constructadataitemforalistofchoices.

label[string]:namechoices[list,tupleorfunction]:stringlistor(key,label)listfunctionoftwoarguments(item,value)returningalistoftuples(key,label,image)whereimageisaniconpath,aQIconinstanceorafunctionofoneargument(key)

Page 52: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

returningaQIconinstancedefault[-]:defaultlabelordefaultkey(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)

Page 53: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)OverrideDataItemmethod

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)

Page 54: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.ColorItem(label,default=None,notempty=None,wordwrap=False,help=u'')

Constructacolordataitem

label[string]:namedefault[string]:defaultvalue(optional)help[string]:textshownintooltip(optional)

ColorvaluesareencodedashexadecimalstringsorQtcolornames

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

Page 55: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

Page 56: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.DateItem(label,default=None,help=u'')

Constructadatedataitem.

text[string]:form’sfieldname(optional)

Page 57: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

label[string]:namedefault[datetime.date]:defaultvalue(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)

Page 58: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

Page 59: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

type

aliasofdate

classguidata.dataset.dataitems.DictItem(label,default=None,help=u'')

Constructadictionarydataitem

label[string]:namedefault[dict]:defaultvalue(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

Page 60: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Page 61: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Thismethodisreimplementedinsomechildclasses

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.DirectoryItem(label,default=None,notempty=None,wordwrap=False,help=u'')

Constructapathdataitemforadirectory.

label[string]:namedefault[string]:defaultvalue(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthis

Page 62: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

methodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

Page 63: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

Page 64: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.FileOpenItem(label,formats=u'*',default=None,basedir=None,all_files_first=False,help=u'')

Constructapathdataitemforafiletobeopened

label[string]:nameformats[string(orstringlist)]:wildcardfilterdefault[string]:defaultvalue(optional)basedir[string]:defaultbasedirectory(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetect

Page 65: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

expecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)OverrideDataItemmethod

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

Page 66: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.FileSaveItem(label,formats=u'*',default=None,basedir=None,all_files_first=False,help=u'')

Constructapathdataitemforafiletobesaved

label[string]:nameformats[string(orstringlist)]:wildcardfilterdefault[string]:defaultvalue(optional)basedir[string]:defaultbasedirectory(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Page 67: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)OverrideDataItemmethod

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

Page 68: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

Page 69: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.FilesOpenItem(label,formats=u'*',default=None,basedir=None,all_files_first=False,help=u'')

Constructapathdataitemformultiplefilestobeopened.

label[string]:nameformats[string(orstringlist)]:wildcardfilterdefault[string]:defaultvalue(optional)basedir[string]:defaultbasedirectory(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetect

Page 70: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

expecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)OverrideDataItemmethod

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitem

set_default(instance)

Page 71: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

type

aliasoflist

classguidata.dataset.dataitems.FloatArrayItem(label,default=None,help=u'',format=u'%.3f',transpose=False,minmax=u'all')

Constructafloatarraydataitem

label[string]:namedefault[numpy.ndarray]:defaultvalue(optional)help[string]:textshownintooltip(optional)format[string]:formattingstring(example:‘%.3f’)(optional)transpose[bool]:transposematrix(displayonly)large[bool]:viewallfloatofthearray

Page 72: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

minmax[string]:“all”(default),“columns”,“rows”

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)OverrideDataItemmethod

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

Page 73: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitem

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

Page 74: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.FloatItem(label,default=None,min=None,max=None,nonzero=None,unit=u'',step=0.1,slider=False,help=u'')

Constructafloatdataitem

label[string]:namedefault[float]:defaultvalue(optional)min[float]:minimumvalue(optional)max[float]:maximumvalue(optional)slider[bool]:ifTrue,showsasliderwidgetrightafterthelineeditwidget(defaultisFalse)step[float]:stepbetweentickvalueswithasliderwidget(optional)nonzero[bool]:ifTrue,zeroisnotavalidvalue(optional)unit[string]:physicalunit(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

Page 75: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)OverrideDataItemmethod

from_string(value)OverrideDataItemmethod

get_auto_help(instance)OverrideDataItemmethod

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

Page 76: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

type

aliasoffloat

Page 77: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

classguidata.dataset.dataitems.FontFamilyItem(label,default=None,notempty=None,wordwrap=False,help=u'')

Constructafontfamilynameitem

label[string]:namedefault[string]:defaultvalue(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

Page 78: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

from_string(value)OverrideDataItemmethod

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)

Page 79: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.ImageChoiceItem(label,choices,default=<class'guidata.dataset.dataitems.FirstChoice'>,help=u'')

Constructadataitemforalistofchoiceswithimages

label[string]:namechoices[list,tupleorfunction]:(label,image)listor(key,label,image)listfunctionoftwoarguments(item,value)returningalistoftuples(key,label,image)whereimageisaniconpath,aQIconinstanceorafunctionofoneargument(key)returningaQIconinstancedefault[-]:defaultlabelordefaultkey(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Page 80: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Page 81: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Getonepropertyofthisitem

get_string_value(instance)OverrideDataItemmethod

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntax

Page 82: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

set_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.IntItem(label,default=None,min=None,max=None,nonzero=None,unit=u'',even=None,slider=False,help=u'')

Constructanintegerdataitem

label[string]:namedefault[int]:defaultvalue(optional)min[int]:minimumvalue(optional)max[int]:maximumvalue(optional)nonzero[bool]:ifTrue,zeroisnotavalidvalue(optional)unit[string]:physicalunit(optional)even[bool]:ifTrue,evenvaluesarevalid,ifFalse,oddvaluesarevalidifNone(default),ignored(optional)slider[bool]:ifTrue,showsasliderwidgetrightafterthelineeditwidget(defaultisFalse)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

Page 83: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)OverrideDataItemmethod

from_string(value)OverrideDataItemmethod

get_auto_help(instance)OverrideDataItemmethod

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

Page 84: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

type

aliasofint

class

Page 85: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

guidata.dataset.dataitems.MultipleChoiceItem(label,choices,default=(),help=u'')

Constructadataitemforalistofchoices–multiplechoicescanbeselected

label[string]:namechoices[listortuple]:stringlistor(key,label)listdefault[-]:defaultlabelordefaultkey(optional)help[string]:textshownintooltip(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitem

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)

Page 86: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)OverrideDataItemmethod

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

horizontal(row_nb=1)Methodtoarangechoicelisthorizontallyonnrows

Example:nb=MultipleChoiceItem(“Number”,[‘1’,‘2’,‘3’]).horizontal(2)

serialize(instance,writer)Serializethisitem

set_default(instance)

Page 87: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

vertical(col_nb=1)Methodtoarangechoicelistverticallyonncolumns

Example:nb=MultipleChoiceItem(“Number”,[‘1’,‘2’,‘3’]).vertical(2)

classguidata.dataset.dataitems.NumericTypeItem(label,default=None,min=None,max=None,nonzero=None,unit=u'',help=u'')

Numericdataitem

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Page 88: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)OverrideDataItemmethod

from_string(value)OverrideDataItemmethod

get_auto_help(instance)OverrideDataItemmethod

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

Page 89: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

Page 90: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.StringItem(label,default=None,notempty=None,wordwrap=False,help=u'')

Constructastringdataitem

label[string]:namedefault[string]:defaultvalue(optional)help[string]:textshownintooltip(optional)notempty[bool]:ifTrue,emptystringisnotavalidvalue(opt.)wordwrap[bool]:togglewordwrapping(optional)

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Page 91: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverything

Page 92: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

butnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.dataitems.TextItem(label,default=None,notempty=None,wordwrap=True,help=u'')

Constructatextdataitem(multilinestring)

label[string]:namedefault[string]:defaultvalue(optional)help[string]:textshownintooltip(optional)notempty[bool]:ifTrue,emptystringisnotavalidvalue(opt.)wordwrap[bool]:togglewordwrapping(optional)

accept(visitor)

Page 93: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(value)OverrideDataItemmethod

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(value)OverrideDataItemmethod

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<class

Page 94: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

guidata.dataset.datatypes.NoDefaultat0x04F167A0>)Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntax

Page 95: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

set_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

dataset.datatypesTheguidata.dataset.datatypesmodulecontainsimplementationforDataSets(DataSet,DataSetGroup,...)andrelatedobjects(ItemProperty,ValueProp,...).

classguidata.dataset.datatypes.ActivableDataSet(title=Nonecomment=None,icon=u'')

AnActivableDataSetinstancemusthavean“enable”classattributewhichwillsettheactivestateofthedatasetinstance(seeexamplein:tests/activable_dataset.py)

accept(vis)helperfunctionthatpassesthevisitortotheacceptmethodsofalltheitemsinthisdataset

classmethodactive_setup(klass)Thisclassmethodmustbecalledafterthechildclassdefinitioninordertosetupthedatasetactivestate

check()Checkthedatasetitemvalues

edit(parent=None,apply=None,size=None)Openadialogboxtoeditdataset

parent:parentwidget(defaultisNone,meaningnoparent)

Page 96: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

apply:applycallback(defaultisNone)size:dialogsize(QSizeobjectorintegertuple(width,height))

get_comment()Returndatasetcomment

get_icon()Returndataseticon

get_title()Returndatasettitle

set_defaults()Setdefaultvalues

set_readonly()Thedatasetisnowinread-onlymode,i.e.alldataitemsaredisabled

set_writeable()Thedatasetisnowinread/writemode,i.e.alldataitemsareenabled

text_edit()Editdatasetwithtextinputonly

to_string(debug=False,indent=None,align=False)ReturnreadablestringrepresentationofthedatasetIfdebugisTrue,addmoredetailsondataitems

view(parent=None,size=None)Openadialogboxtoviewdataset

Page 97: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

parent:parentwidget(defaultisNone,meaningnoparent)size:dialogsize(QSizeobjectorintegertuple(width,height))

classguidata.dataset.datatypes.BeginGroup(label,default=None,help=u'')

Dataitemwhichdoesnotrepresentanythingbutabeginflagtodefineadatasetgroup

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

Page 98: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

Page 99: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.datatypes.DataItem(label,default=None,help=u'')

DataSetdataitem

label:stringdefault:anytype,optionalhelp:stringTextdisplayedondataitem’stooltip

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Page 100: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

Defaultbaseimplementationsupposesthereadercandetectexpecteddatatypefromthestream

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

serialize(instance,writer)Serializethisitemusingthewriterobject

Page 101: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.datatypes.DataItemProxy(item)ProxyforDataItemobjects

ThisclassisneededtoconstructGroupItemclass(seemoduleguidata.qtwidgets)

accept(visitor)DataItemmethodproxy

bind(instance)DataItemmethodproxy

Page 102: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

check_item(instance)DataItemmethodproxy

check_value(instance,value)DataItemmethodproxy

from_string(instance,string_value)DataItemmethodproxy

get_auto_help(instance)DataItemmethodproxy

get_help(instance)DataItemmethodproxy

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

DataItemmethodproxy

get_prop_value(realm,instance,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

DataItemmethodproxy

get_string_value(instance)DataItemmethodproxy

get_value(instance)DataItemmethodproxy

set_default(instance)DataItemmethodproxy

set_from_string(instance,string_value)

Page 103: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

DataItemmethodproxy

set_prop(realm,**kwargs)DataItemmethodproxy

classguidata.dataset.datatypes.DataItemVariable(item,instance)

AninstanceofaDataItemVariablerepresentabindingbetweenanitemandadataset.

couldbecalledaboundproperty.

sinceDataIteminstancesareclassattributestheyneedtohaveaDataSetinstancetostoretheirvalue.Thisclassbindsthetwotogether.

check_item()Re-implementDataItemmethod

check_value(value)Re-implementDataItemmethod

from_string(string_value)Re-implementDataItemmethod

get()Re-implementDataItemmethod

get_auto_help()Re-implementDataItemmethod

get_help()Re-implementDataItemmethod

Page 104: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

DataItemmethodproxy

get_prop_value(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

DataItemmethodproxy

get_string_value()Returnaunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

label()Re-implementDataItemmethod

set(value)Re-implementDataItemmethod

set_default()Re-implementDataItemmethod

set_from_string(string_value)Re-implementDataItemmethod

classguidata.dataset.datatypes.DataSet(title=None,comment=None,icon=u'')

ConstructaDataSetobjectisasetofDataItemobjects

title[string]comment[string]:textshownonthetopofthefirstdataitemicon[QIconorstring]:iconshowonthebutton(optional)(string:iconfilenameasinguidata/guiqwtimagesearch

Page 105: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

paths)

accept(vis)helperfunctionthatpassesthevisitortotheacceptmethodsofalltheitemsinthisdataset

check()Checkthedatasetitemvalues

edit(parent=None,apply=None,size=None)Openadialogboxtoeditdataset

parent:parentwidget(defaultisNone,meaningnoparent)apply:applycallback(defaultisNone)size:dialogsize(QSizeobjectorintegertuple(width,height))

get_comment()Returndatasetcomment

get_icon()Returndataseticon

get_title()Returndatasettitle

set_defaults()Setdefaultvalues

text_edit()Editdatasetwithtextinputonly

to_string(debug=False,indent=None,align=False)

Page 106: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

ReturnreadablestringrepresentationofthedatasetIfdebugisTrue,addmoredetailsondataitems

view(parent=None,size=None)Openadialogboxtoviewdataset

parent:parentwidget(defaultisNone,meaningnoparent)size:dialogsize(QSizeobjectorintegertuple(width,height))

classguidata.dataset.datatypes.DataSetGroup(datasets,title=None,icon=u'')

ConstructaDataSetGroupobject,usedtogroupseveraldatasetstogether

datasets[listofDataSetobjects]title[string]icon[QIconorstring]:iconshowonthebutton(optional)(string:iconfilenameasinguidata/guiqwtimagesearchpaths)

ThisclasstriestomimicstheDataSetinterface.

TheGUIshouldrepresentitasanotebookwithonepageforeachcontaineddataset.

accept(vis)helperfunctionthatpassesthevisitortotheacceptmethodsofalltheitemsinthisdataset

check()Checkdatasetgroupitems

Page 107: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

edit(parent=None,apply=None)Openadialogboxtoeditdataset

get_comment()Returndatasetgroupcomment–>notimplemented(willreturnNone)

get_title()Returndatasetgrouptitle

text_edit()Editdatasetwithtextinputonly

classguidata.dataset.datatypes.DataSetMeta

DataSetmetaclass

Createclassattribute_items:listoftheDataSetclassattributes,createdinthesameorderastheseattributeswerewritten

mro()→list

returnatype’smethodresolutionorder

classguidata.dataset.datatypes.EndGroup(label,default=None,help=u'')

Dataitemwhichdoesnotrepresentanythingbutanendflagtodefineadatasetgroup

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeach

Page 108: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

derivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

Page 109: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

set_default(instance)Setdataitem’svaluetodefault

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.datatypes.FormatProp(fmt,ignore_error=True)

APropertythatreturnsastringtohelpcustomread-onlyrepresentationofitems

set(instance,item,value)Setsthevalueofthepropertygivenaninstance,itemandvalueDependingonimplementationthevaluewillbestored

Page 110: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

eitherontheinstance,itemorself

classguidata.dataset.datatypes.FuncProp(prop,func,invfunc=None)

An‘operatorproperty’prop:ItemPropertyinstancefunc:functioninvfunc:inversefunction(optional)

classguidata.dataset.datatypes.GetAttrProp(attr)Apropertythatmatchesthevalueofaninstance’sattribute

classguidata.dataset.datatypes.GroupItem(item)

GroupItemproxy

accept(visitor)DataItemmethodproxy

bind(instance)DataItemmethodproxy

check_item(instance)DataItemmethodproxy

check_value(instance,value)DataItemmethodproxy

from_string(instance,string_value)DataItemmethodproxy

get_auto_help(instance)DataItemmethodproxy

get_help(instance)

Page 111: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

DataItemmethodproxy

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

DataItemmethodproxy

get_prop_value(realm,instance,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

DataItemmethodproxy

get_string_value(instance)DataItemmethodproxy

get_value(instance)DataItemmethodproxy

set_default(instance)DataItemmethodproxy

set_from_string(instance,string_value)DataItemmethodproxy

set_prop(realm,**kwargs)DataItemmethodproxy

classguidata.dataset.datatypes.NotProp(prop)Notproperty

classguidata.dataset.datatypes.Obj(**kwargs)AnobjectthathelpsbuilddefaultinstancesforObjectItems

classguidata.dataset.datatypes.ObjectItem(label,default=None,help=u'')

Page 112: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

Simplehelperclassimplementingdefaultforcompositeobjects

accept(visitor)Thisisthevisitorpattern’sacceptfunction.Itcallsthecorrespondingvisit_MYCLASSmethodofthevisitorobject.

Python’sallowagenericbaseclassimplementationofthismethodsothere’snoneedtowriteanacceptfunctionforeachderivedclassunlessyouneedtooverridethedefaultbehavior

bind(instance)ReturnaDataItemVariableinstanceboundtothedataitem

check_item(instance)Checkdataitem’scurrentvalue(callingmethodcheck_value)

check_value(instance,value)Checkifvalueisvalidforthisdataitem

deserialize(instance,reader)Deserializethisitemusingthereaderobject

Webuildanewdefaultobjectanddeserializeit

format_string(instance,value,fmt,func)Applyformattostringrepresentationoftheitem’svalue

from_string(instance,string_value)Transformstringintovaliddataitem’svalue

get_auto_help(instance)Returntheautomaticallygeneratedpartofdataitem’stooltip

get_help(instance)Returndataitem’stooltip

Page 113: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

get_prop(realm,name,default=<classguidata.dataset.datatypes.NoDefaultat0x04F167A0>)

Getonepropertyofthisitem

get_string_value(instance)Returnaformattedunicoderepresentationoftheitem’svalueobeying‘display’or‘repr’properties

get_value(instance)Returndataitem’svalue

get_value_from_reader(reader)Readsvaluefromthereaderobject,insidethetry...exceptstatementdefinedinthebaseitemdeserializemethod

Thismethodisreimplementedinsomechildclasses

serialize(instance,writer)Serializethisitemusingthewriterobject

thisisadefaultimplementationthatshouldworkforeverythingbutnewdatatypes

set_default(instance)Makeacopyofthedefaultvalue

set_from_string(instance,string_value)Setdataitem’svaluefromspecifiedstring

set_name(new_name)Setdataitem’sname

set_pos(col=0,colspan=None)Setdataitem’spositiononaGUIlayout

Page 114: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

set_prop(realm,**kwargs)Setoneorseveralpropertiesusingthesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

classguidata.dataset.datatypes.ValueProp(value)Apropertythatretrievesavaluestoredelsewhere

Page 115: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

qthelpersTheguidata.qthelpersmoduleprovideshelperfunctionsfordevelopingeasilyQt-basedgraphicaluserinterfaces.

classguidata.qthelpers.ShowStdIcons(parent)Dialogshowingstandardicons

classRenderFlags

QWidget.RenderFlags(QWidget.RenderFlags)QWidget.RenderFlags(int)QWidget.RenderFlags()

ShowStdIcons.acceptDrops()→bool

ShowStdIcons.actionEvent(QActionEvent)

ShowStdIcons.actions()→list-of-QAction

ShowStdIcons.activateWindow()

ShowStdIcons.addAction(QAction)

ShowStdIcons.addActions(list-of-QAction)

ShowStdIcons.adjustSize()

ShowStdIcons.autoFillBackground()→bool

ShowStdIcons.backgroundRole()→QPalette.ColorRole

ShowStdIcons.baseSize()→QSize

ShowStdIcons.blockSignals(bool)→bool

Page 116: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.changeEvent(QEvent)

ShowStdIcons.childAt(QPoint)→QWidget

QWidget.childAt(int,int)->QWidget

ShowStdIcons.children()→list-of-QObject

ShowStdIcons.childrenRect()→QRect

ShowStdIcons.childrenRegion()→QRegion

ShowStdIcons.clearFocus()

ShowStdIcons.clearMask()

ShowStdIcons.close()→bool

ShowStdIcons.closeEvent(QCloseEvent)

ShowStdIcons.colorCount()→int

ShowStdIcons.connect(QObject,SIGNAL(),QObject,SLOT(),Qt.ConnectionType=Qt.AutoConnection)→bool

QObject.connect(QObject,SIGNAL(),callable,Qt.ConnectionType=Qt.AutoConnection)->boolQObject.connect(QObject,SIGNAL(),SLOT(),Qt.ConnectionType=Qt.AutoConnection)->bool

ShowStdIcons.contentsMargins()→QMargins

ShowStdIcons.contentsRect()→QRect

ShowStdIcons.contextMenuEvent(QContextMenuEvent)

ShowStdIcons.contextMenuPolicy()→

Page 117: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Qt.ContextMenuPolicy

ShowStdIcons.create(sip.voidptrwindow=None,boolinitializeWindow=True,booldestroyOldWindow=True)

ShowStdIcons.cursor()→QCursor

ShowStdIcons.customContextMenuRequested

QWidget.customContextMenuRequested[QPoint][signal]

ShowStdIcons.deleteLater()

ShowStdIcons.depth()→int

ShowStdIcons.destroy(booldestroyWindow=True,booldestroySubWindows=True)

ShowStdIcons.destroyed

QObject.destroyed[QObject][signal]QObject.destroyed[signal]

ShowStdIcons.devType()→int

ShowStdIcons.disconnect(QObject,SIGNAL(),QObject,SLOT())→bool

QObject.disconnect(QObject,SIGNAL(),callable)->bool

ShowStdIcons.dragEnterEvent(QDragEnterEvent)

ShowStdIcons.dragLeaveEvent(QDragLeaveEvent)

ShowStdIcons.dragMoveEvent(QDragMoveEvent)

ShowStdIcons.dropEvent(QDropEvent)

ShowStdIcons.dumpObjectInfo()

Page 118: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.dumpObjectTree()

ShowStdIcons.dynamicPropertyNames()→list-of-QByteArray

ShowStdIcons.effectiveWinId()→sip.voidptr

ShowStdIcons.emit(SIGNAL(),...)

ShowStdIcons.enabledChange(bool)

ShowStdIcons.ensurePolished()

ShowStdIcons.enterEvent(QEvent)

ShowStdIcons.event(QEvent)→bool

ShowStdIcons.eventFilter(QObject,QEvent)→bool

ShowStdIcons.find(sip.voidptr)→QWidget

ShowStdIcons.findChild(type,QStringname=QString())→QObject

QObject.findChild(tuple,QStringname=QString())->QObject

ShowStdIcons.findChildren(type,QStringname=QString())→list-of-QObject

QObject.findChildren(tuple,QStringname=QString())->list-of-QObjectQObject.findChildren(type,QRegExp)->list-of-QObjectQObject.findChildren(tuple,QRegExp)->list-of-QObject

ShowStdIcons.focusInEvent(QFocusEvent)

ShowStdIcons.focusNextChild()→bool

Page 119: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.focusNextPrevChild(bool)→bool

ShowStdIcons.focusOutEvent(QFocusEvent)

ShowStdIcons.focusPolicy()→Qt.FocusPolicy

ShowStdIcons.focusPreviousChild()→bool

ShowStdIcons.focusProxy()→QWidget

ShowStdIcons.focusWidget()→QWidget

ShowStdIcons.font()→QFont

ShowStdIcons.fontChange(QFont)

ShowStdIcons.fontInfo()→QFontInfo

ShowStdIcons.fontMetrics()→QFontMetrics

ShowStdIcons.foregroundRole()→QPalette.ColorRole

ShowStdIcons.frameGeometry()→QRect

ShowStdIcons.frameSize()→QSize

ShowStdIcons.geometry()→QRect

ShowStdIcons.getContentsMargins()->(int,int,int,int)

ShowStdIcons.grabGesture(Qt.GestureType,Qt.GestureFlagsflags=Qt.GestureFlags(0))

ShowStdIcons.grabKeyboard()

ShowStdIcons.grabMouse()

Page 120: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

QWidget.grabMouse(QCursor)

ShowStdIcons.grabShortcut(QKeySequence,Qt.ShortcutContextcontext=Qt.WindowShortcut)→int

ShowStdIcons.graphicsEffect()→QGraphicsEffect

ShowStdIcons.graphicsProxyWidget()→QGraphicsProxyWidget

ShowStdIcons.hasFocus()→bool

ShowStdIcons.hasMouseTracking()→bool

ShowStdIcons.height()→int

ShowStdIcons.heightForWidth(int)→int

ShowStdIcons.heightMM()→int

ShowStdIcons.hide()

ShowStdIcons.hideEvent(QHideEvent)

ShowStdIcons.inherits(str)→bool

ShowStdIcons.inputContext()→QInputContext

ShowStdIcons.inputMethodEvent(QInputMethodEvent)

ShowStdIcons.inputMethodHints()→Qt.InputMethodHints

ShowStdIcons.inputMethodQuery(Qt.InputMethodQuery)→QVariant

Page 121: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.insertAction(QAction,QAction)

ShowStdIcons.insertActions(QAction,list-of-QAction)

ShowStdIcons.installEventFilter(QObject)

ShowStdIcons.isActiveWindow()→bool

ShowStdIcons.isAncestorOf(QWidget)→bool

ShowStdIcons.isEnabled()→bool

ShowStdIcons.isEnabledTo(QWidget)→bool

ShowStdIcons.isEnabledToTLW()→bool

ShowStdIcons.isFullScreen()→bool

ShowStdIcons.isHidden()→bool

ShowStdIcons.isLeftToRight()→bool

ShowStdIcons.isMaximized()→bool

ShowStdIcons.isMinimized()→bool

ShowStdIcons.isModal()→bool

ShowStdIcons.isRightToLeft()→bool

ShowStdIcons.isTopLevel()→bool

ShowStdIcons.isVisible()→bool

ShowStdIcons.isVisibleTo(QWidget)→bool

ShowStdIcons.isWidgetType()→bool

Page 122: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.isWindow()→bool

ShowStdIcons.isWindowModified()→bool

ShowStdIcons.keyPressEvent(QKeyEvent)

ShowStdIcons.keyReleaseEvent(QKeyEvent)

ShowStdIcons.keyboardGrabber()→QWidget

ShowStdIcons.killTimer(int)

ShowStdIcons.languageChange()

ShowStdIcons.layout()→QLayout

ShowStdIcons.layoutDirection()→Qt.LayoutDirection

ShowStdIcons.leaveEvent(QEvent)

ShowStdIcons.locale()→QLocale

ShowStdIcons.logicalDpiX()→int

ShowStdIcons.logicalDpiY()→int

ShowStdIcons.lower()

ShowStdIcons.mapFrom(QWidget,QPoint)→QPoint

ShowStdIcons.mapFromGlobal(QPoint)→QPoint

ShowStdIcons.mapFromParent(QPoint)→QPoint

ShowStdIcons.mapTo(QWidget,QPoint)→QPoint

ShowStdIcons.mapToGlobal(QPoint)→QPoint

Page 123: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.mapToParent(QPoint)→QPoint

ShowStdIcons.mask()→QRegion

ShowStdIcons.maximumHeight()→int

ShowStdIcons.maximumSize()→QSize

ShowStdIcons.maximumWidth()→int

ShowStdIcons.metaObject()→QMetaObject

ShowStdIcons.metric(QPaintDevice.PaintDeviceMetric)→int

ShowStdIcons.minimumHeight()→int

ShowStdIcons.minimumSize()→QSize

ShowStdIcons.minimumSizeHint()→QSize

ShowStdIcons.minimumWidth()→int

ShowStdIcons.mouseDoubleClickEvent(QMouseEvent)

ShowStdIcons.mouseGrabber()→QWidget

ShowStdIcons.mouseMoveEvent(QMouseEvent)

ShowStdIcons.mousePressEvent(QMouseEvent)

ShowStdIcons.mouseReleaseEvent(QMouseEvent)

ShowStdIcons.move(QPoint)QWidget.move(int,int)

ShowStdIcons.moveEvent(QMoveEvent)

Page 124: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.moveToThread(QThread)

ShowStdIcons.nativeParentWidget()→QWidget

ShowStdIcons.nextInFocusChain()→QWidget

ShowStdIcons.normalGeometry()→QRect

ShowStdIcons.numColors()→int

ShowStdIcons.objectName()→QString

ShowStdIcons.overrideWindowFlags(Qt.WindowFlags)

ShowStdIcons.overrideWindowState(Qt.WindowStates)

ShowStdIcons.paintEngine()→QPaintEngine

ShowStdIcons.paintEvent(QPaintEvent)

ShowStdIcons.paintingActive()→bool

ShowStdIcons.palette()→QPalette

ShowStdIcons.paletteChange(QPalette)

ShowStdIcons.parent()→QObject

ShowStdIcons.parentWidget()→QWidget

ShowStdIcons.physicalDpiX()→int

ShowStdIcons.physicalDpiY()→int

ShowStdIcons.pos()→QPoint

ShowStdIcons.previousInFocusChain()→QWidget

Page 125: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.property(str)→QVariant

ShowStdIcons.pyqtConfigure(...)EachkeywordargumentiseitherthenameofaQtpropertyoraQtsignal.Forpropertiesthepropertyissettothegivenvaluewhichshouldbeofanappropriatetype.Forsignalsthesignalisconnectedtothegivenvaluewhichshouldbeacallable.

ShowStdIcons.raise_()

ShowStdIcons.rect()→QRect

ShowStdIcons.releaseKeyboard()

ShowStdIcons.releaseMouse()

ShowStdIcons.releaseShortcut(int)

ShowStdIcons.removeAction(QAction)

ShowStdIcons.removeEventFilter(QObject)

ShowStdIcons.render(QPaintDevice,QPointtargetOffset=QPoint(),QRegionsourceRegion=QRegion(),QWidget.RenderFlagsflags=QWidget.DrawWindowBackground|QWidget.DrawChildren)

QWidget.render(QPainter,QPointtargetOffset=QPoint(),QRegionsourceRegion=QRegion(),QWidget.RenderFlagsflags=QWidget.DrawWindowBackground|QWidget.DrawChildren)

ShowStdIcons.repaint()QWidget.repaint(int,int,int,int)QWidget.repaint(QRect)QWidget.repaint(QRegion)

Page 126: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.resetInputContext()

ShowStdIcons.resize(QSize)QWidget.resize(int,int)

ShowStdIcons.resizeEvent(QResizeEvent)

ShowStdIcons.restoreGeometry(QByteArray)→bool

ShowStdIcons.saveGeometry()→QByteArray

ShowStdIcons.scroll(int,int)QWidget.scroll(int,int,QRect)

ShowStdIcons.setAcceptDrops(bool)

ShowStdIcons.setAttribute(Qt.WidgetAttribute,boolon=True)

ShowStdIcons.setAutoFillBackground(bool)

ShowStdIcons.setBackgroundRole(QPalette.ColorRole)

ShowStdIcons.setBaseSize(int,int)QWidget.setBaseSize(QSize)

ShowStdIcons.setContentsMargins(int,int,int,int)QWidget.setContentsMargins(QMargins)

ShowStdIcons.setContextMenuPolicy(Qt.ContextMenuPolicy

ShowStdIcons.setCursor(QCursor)

ShowStdIcons.setDisabled(bool)

ShowStdIcons.setEnabled(bool)

Page 127: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.setFixedHeight(int)

ShowStdIcons.setFixedSize(QSize)QWidget.setFixedSize(int,int)

ShowStdIcons.setFixedWidth(int)

ShowStdIcons.setFocus()QWidget.setFocus(Qt.FocusReason)

ShowStdIcons.setFocusPolicy(Qt.FocusPolicy)

ShowStdIcons.setFocusProxy(QWidget)

ShowStdIcons.setFont(QFont)

ShowStdIcons.setForegroundRole(QPalette.ColorRole)

ShowStdIcons.setGeometry(QRect)QWidget.setGeometry(int,int,int,int)

ShowStdIcons.setGraphicsEffect(QGraphicsEffect)

ShowStdIcons.setHidden(bool)

ShowStdIcons.setInputContext(QInputContext)

ShowStdIcons.setInputMethodHints(Qt.InputMethodHints

ShowStdIcons.setLayout(QLayout)

ShowStdIcons.setLayoutDirection(Qt.LayoutDirection)

ShowStdIcons.setLocale(QLocale)

ShowStdIcons.setMask(QBitmap)

Page 128: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

QWidget.setMask(QRegion)

ShowStdIcons.setMaximumHeight(int)

ShowStdIcons.setMaximumSize(int,int)QWidget.setMaximumSize(QSize)

ShowStdIcons.setMaximumWidth(int)

ShowStdIcons.setMinimumHeight(int)

ShowStdIcons.setMinimumSize(int,int)QWidget.setMinimumSize(QSize)

ShowStdIcons.setMinimumWidth(int)

ShowStdIcons.setMouseTracking(bool)

ShowStdIcons.setObjectName(QString)

ShowStdIcons.setPalette(QPalette)

ShowStdIcons.setParent(QWidget)QWidget.setParent(QWidget,Qt.WindowFlags)

ShowStdIcons.setProperty(str,QVariant)→bool

ShowStdIcons.setShortcutAutoRepeat(int,boolenabled=True)

ShowStdIcons.setShortcutEnabled(int,boolenabled=True)

ShowStdIcons.setShown(bool)

ShowStdIcons.setSizeIncrement(int,int)

Page 129: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

QWidget.setSizeIncrement(QSize)

ShowStdIcons.setSizePolicy(QSizePolicy)QWidget.setSizePolicy(QSizePolicy.Policy,QSizePolicy.Policy)

ShowStdIcons.setStatusTip(QString)

ShowStdIcons.setStyle(QStyle)

ShowStdIcons.setStyleSheet(QString)

ShowStdIcons.setTabOrder(QWidget,QWidget)

ShowStdIcons.setToolTip(QString)

ShowStdIcons.setUpdatesEnabled(bool)

ShowStdIcons.setVisible(bool)

ShowStdIcons.setWhatsThis(QString)

ShowStdIcons.setWindowFilePath(QString)

ShowStdIcons.setWindowFlags(Qt.WindowFlags)

ShowStdIcons.setWindowIcon(QIcon)

ShowStdIcons.setWindowIconText(QString)

ShowStdIcons.setWindowModality(Qt.WindowModality)

ShowStdIcons.setWindowModified(bool)

ShowStdIcons.setWindowOpacity(float)

ShowStdIcons.setWindowRole(QString)

Page 130: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.setWindowState(Qt.WindowStates)

ShowStdIcons.setWindowTitle(QString)

ShowStdIcons.show()

ShowStdIcons.showEvent(QShowEvent)

ShowStdIcons.showFullScreen()

ShowStdIcons.showMaximized()

ShowStdIcons.showMinimized()

ShowStdIcons.showNormal()

ShowStdIcons.signalsBlocked()→bool

ShowStdIcons.size()→QSize

ShowStdIcons.sizeHint()→QSize

ShowStdIcons.sizeIncrement()→QSize

ShowStdIcons.sizePolicy()→QSizePolicy

ShowStdIcons.stackUnder(QWidget)

ShowStdIcons.startTimer(int)→int

ShowStdIcons.statusTip()→QString

ShowStdIcons.style()→QStyle

ShowStdIcons.styleSheet()→QString

ShowStdIcons.tabletEvent(QTabletEvent)

Page 131: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.testAttribute(Qt.WidgetAttribute)→bool

ShowStdIcons.thread()→QThread

ShowStdIcons.toolTip()→QString

ShowStdIcons.topLevelWidget()→QWidget

ShowStdIcons.tr(str,strdisambiguation=None,intn=-1)→QString

ShowStdIcons.trUtf8(str,strdisambiguation=None,intn=-1)→QString

ShowStdIcons.underMouse()→bool

ShowStdIcons.ungrabGesture(Qt.GestureType)

ShowStdIcons.unsetCursor()

ShowStdIcons.unsetLayoutDirection()

ShowStdIcons.unsetLocale()

ShowStdIcons.update()QWidget.update(QRect)QWidget.update(QRegion)QWidget.update(int,int,int,int)

ShowStdIcons.updateGeometry()

ShowStdIcons.updateMicroFocus()

ShowStdIcons.updatesEnabled()→bool

ShowStdIcons.visibleRegion()→QRegion

Page 132: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

ShowStdIcons.whatsThis()→QString

ShowStdIcons.wheelEvent(QWheelEvent)

ShowStdIcons.width()→int

ShowStdIcons.widthMM()→int

ShowStdIcons.winEvent(MSG)->(bool,int)

ShowStdIcons.winId()→sip.voidptr

ShowStdIcons.window()→QWidget

ShowStdIcons.windowActivationChange(bool)

ShowStdIcons.windowFilePath()→QString

ShowStdIcons.windowFlags()→Qt.WindowFlags

ShowStdIcons.windowIcon()→QIcon

ShowStdIcons.windowIconText()→QString

ShowStdIcons.windowModality()→Qt.WindowModality

ShowStdIcons.windowOpacity()→float

ShowStdIcons.windowRole()→QString

ShowStdIcons.windowState()→Qt.WindowStates

ShowStdIcons.windowTitle()→QString

ShowStdIcons.windowType()→Qt.WindowType

ShowStdIcons.x()→int

Page 133: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

ShowStdIcons.y()→int

guidata.qthelpers.add_actions(target,actions)Addactions(listofQActioninstances)totarget(menu,toolbar)

guidata.qthelpers.add_separator(target)Addseparatortotargetonlyiflastactionisnotaseparator

guidata.qthelpers.create_action(parent,title,triggered=None,toggled=None,shortcut=None,icon=None,tip=None,checkable=None,context=1,enabled=None)

CreateanewQAction

guidata.qthelpers.create_groupbox(parent,title=None,toggled=None,checked=None,flat=False,layout=None)

CreateaQGroupBox

guidata.qthelpers.create_toolbutton(parent,icon=None,text=None,triggered=None,tip=None,toggled=None,shortcut=None,autoraise=True,enabled=None)

CreateaQToolButton

guidata.qthelpers.get_std_icon(name,size=None)GetstandardplatformiconCall‘show_std_icons()’fordetails

guidata.qthelpers.keybinding(attr)Returnkeybinding

guidata.qthelpers.show_std_icons()ShowallstandardIcons

Page 134: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]guidata.qthelpers.text_to_qcolor(text)CreateaQColorfromspecifiedstring

Page 135: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

disthelpersTheguidata.disthelpersmoduleprovideshelperfunctionsforPythonpackagedistributiononMicrosoftWindowsplatformswithpy2exeoronallplatformsthankstocx_Freeze.

classguidata.disthelpers.Distribution

Distributionobject

Helpcreatinganexecutableusingpy2exeorcx_Freeze

add_executable(script,target_name,icon=None)Addexecutabletothecx_FreezedistributionNotsupportedforpy2exe

add_matplotlib()IncludemoduleMatplotlibtothedistribution

add_module_data_dir(module_name,data_dir_name,extensions,copy_to_root=True,verbose=False,exclude_dirs=[])

Collectdatafilesindata_dir_nameformodulemodule_nameandaddthemtodata_filesextensions:listoffileextensions,e.g.(‘.png’,‘.svg’)

add_module_data_files(module_name,data_dir_names,extensions,copy_to_root=True,verbose=False,

exclude_dirs=[])Collectdatafilesformodulemodule_nameandaddthemtodata_filesdata_dir_names:listofdirnames,e.g.(‘images’,)extensions:listoffileextensions,e.g.(‘.png’,‘.svg’)

Page 136: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

add_modules(*module_names)Includemodulemodule_name

add_pyqt4()IncludemodulePyQt4tothedistribution

add_pyside()IncludemodulePySidetothedistribution

add_qt_bindings()IncludeQtbindings,i.e.PyQt4orPySide

add_text_data_file(filename,contents)Createtemporarydatafilefilenamewithcontentsandaddittodata_files

build(library,cleanup=True,create_archive=None)Buildexecutablewithgivenlibrary.

library:

‘py2exe’:deployusingthepy2exelibrary‘cx_Freeze’:deployusingthecx_Freezelibrary

cleanup:remove‘build/dist’directoriesbeforebuildingdistribution

create_archive(requirestheexecutablezip):

NoneorFalse:donothing‘add’:addtargetdirectorytoaZIParchive‘move’:movetargetdirectorytoaZIParchive

build_cx_freeze(cleanup=True,create_archive=None)Buildexecutablewithcx_Freeze

Page 137: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

cleanup:remove‘build/dist’directoriesbeforebuildingdistribution

create_archive(requirestheexecutablezip):

NoneorFalse:donothing‘add’:addtargetdirectorytoaZIParchive‘move’:movetargetdirectorytoaZIParchive

build_py2exe(cleanup=True,compressed=2,optimize=2,company_name=None,copyright=None,create_archive=None)

Buildexecutablewithpy2exe

cleanup:remove‘build/dist’directoriesbeforebuildingdistribution

create_archive(requirestheexecutablezip):

NoneorFalse:donothing‘add’:addtargetdirectorytoaZIParchive‘move’:movetargetdirectorytoaZIParchive

setup(name,version,description,script,target_name=None,target_dir=None,icon=None,data_files=None,includes=None,excludes=None,bin_includes=None,bin_excludes=None,bin_path_includes=None,bin_path_excludes=None,msvc=None)

Setupdistributionobject

Notes:

bin_path_excludesisspecifictocx_Freeze(ignoredifit’sNone)ifmsvcisNone,it’ssettoTruebydefaultonWindowsplatforms,Falseonnon-Windowsplatforms

target_dir

Page 138: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

Returntargetdirectory(default:‘dist’)

guidata.disthelpers.create_msvc_data_files(architecture=Nonepython_version=None,verbose=False)

IncludingMicrosoftVisualC++DLLs

guidata.disthelpers.get_changeset(path,rev=None)ReturnMercurialrepositorypathrevisionnumber

guidata.disthelpers.get_msvc_dlls(msvc_version,architecture=None)

GetthelistofMicrosoftVisualC++DLLsassociatedtoarchitectureandPythonversion,createthemanifestfile.

architecture:integer(32or64)–ifNone,takethePythonbuildarchpython_version:X.Y

guidata.disthelpers.get_msvc_version(python_version)ReturnMicrosoftVisualC++versionusedtobuildthisPythonversion

guidata.disthelpers.prepend_module_to_path(module_pathPrependtosys.pathmodulelocatedinmodule_pathReturnstringwithmoduleinfos:name,revision,changeset

Usethisfunction:1)Inyourapplicationtoimportlocalfrozencopiesofinternallibraries2)Inyourpy2exedistributedpackagetoaddatextfilecontainingthereturnedstring

guidata.disthelpers.prepend_modules_to_path(module_base_pathPrependtosys.pathallmoduleslocatedinmodule_base_path

Page 139: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

guidata.disthelpers.remove_dir(dirname)RemovedirectorydirnameandallitscontentsPrintdetailsabouttheoperation(progress,success/failure)

guidata.disthelpers.strip_version(version)Returnversionnumberwithdigitsonly(Windowsdoesnotsupportstringsinversionnumbers)

guidata.disthelpers.to_include_files(data_files)Convertdata_fileslisttoinclude_fileslist

data_files:

thisisthepy2exedatafilesformatlistoftuples(dest_dirname,(src_fname1,src_fname2,...))

include_files:

thisisthecx_Freezedatafilesformat

listoftuples((src_fname1,dst_fname1),

(src_fname2,dst_fname2),...))

Page 140: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

configtoolsTheguidata.configtoolsmoduleprovidesconfigurationrelatedtools.

guidata.configtools.add_image_module_path(modnamerelpath,subfolders=True)

Appendsimagedatapathrelativetoamodulename.Usedtoaddmodulelocaldatathatresidesinamoduledirectorybutwillbeshippedundersys.prefix/share/...

modnamemustbethenameofanalreadyimportedmoduleasfoundinsys.modules

guidata.configtools.add_image_path(path,subfolders=True)

Appendimagepath(opt.withitssubfolders)togloballistIMG_PATH

guidata.configtools.font_is_installed(font)Checkiffontisinstalled

guidata.configtools.get_brush(conf,section,option='',color='black',alpha=1.0)

ConstructaQBrushfromthespecifiedconfigurationfileentryconf:UserConfiginstancesection[,option]:configurationentry[color]:defaultcolor[alpha]:defaultalpha-channel

guidata.configtools.get_family(families)Returnthefirstinstalledfontfamilyinfamilylist

Page 141: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

guidata.configtools.get_font(conf,section,option='')ConstructaQFontfromthespecifiedconfigurationfileentryconf:UserConfiginstancesection[,option]:configurationentry

guidata.configtools.get_icon(name,default='not_found.png')

ConstructaQIconfromthefilewithspecifiednamename,default:filenameswithextensions

guidata.configtools.get_image_file_path(name,default='not_found.png')

Returntheabsolutepathtoimagewithspecifiednamename,default:filenameswithextensions

guidata.configtools.get_image_label(name,default='not_found.png')

ConstructaQLabelfromthefilewithspecifiednamename,default:filenameswithextensions

guidata.configtools.get_image_layout(imagename,text='',tooltip='',alignment=1)

ConstructaQHBoxLayoutincludingimagefromthefilewithspecifiedname,left-alignedtext[withspecifiedtooltip]Return(layout,label)

guidata.configtools.get_module_data_path(modname,relpath=None)

ReturnmodulemodnamedatapathHandlespy2exe/cx_Freezedistributions

Page 142: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

guidata.configtools.get_module_locale_path(modnameReturnmodulemodnamegettexttranslationpath

guidata.configtools.get_pen(conf,section,option='',color='black',width=1,style='SolidLine')

ConstructaQPenfromthespecifiedconfigurationfileentryconf:UserConfiginstancesection[,option]:configurationentry[color]:defaultcolor[width]:defaultwidth[style]:defaultstyle

guidata.configtools.get_translation(modname,dirname=None)

Returntranslationcallbackformodulemodname

Page 143: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

userconfigTheguidata.userconfigmoduleprovidesuserconfigurationfile(.inifile)managementfeaturesbasedonConfigParser(standardPythonlibrary).

Itistheexactcopyoftheopen-sourcepackageuserconfig(MITlicense).

classguidata.userconfig.UserConfig(defaults)UserConfigclass,basedonConfigParsername:nameoftheconfigoptions:dictionnarycontainingoptionsorlistoftuples(section_name,options)

Notethat‘get’and‘set’argumentsnumberandtypedifferfromtheoverridenmethods

add_section(section)Createanewsectionintheconfiguration.

RaiseDuplicateSectionErrorifasectionbythespecifiednamealreadyexists.RaiseValueErrorifnameisDEFAULToranyofit’scase-insensitivevariants.

check_default_values()Checkthestaticoptionsforforbiddendatatypes

cleanup()Remove.inifileassociatedtoconfig

filename()Createa.inifilenamelocatedinuserhomedirectory

Page 144: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

get(section,option,default=<classguidata.userconfig.NoDefaultat0x031FD228>)

Getanoptionsection=None:attributeadefaultsectionnamedefault:defaultvalue(ifnotspecified,anexceptionwillberaisedifoptiondoesn’texist)

get_default(section,option)GetDefaultvalueforagiven(section,option)->usefulfortypecheckingin‘get’method

get_version(version='0.0.0')Returnconfiguration(notapplication!)version

has_option(section,option)Checkfortheexistenceofagivenoptioninagivensection.

has_section(section)Indicatewhetherthenamedsectionispresentintheconfiguration.

TheDEFAULTsectionisnotacknowledged.

items(section,raw=False,vars=None)Returnalistoftupleswith(name,value)foreachoptioninthesection.

All%interpolationsareexpandedinthereturnvalues,basedonthedefaultspassedintotheconstructor,unlesstheoptionalargument`raw’istrue.Additionalsubstitutionsmaybeprovidedusingthe`vars’argument,whichmustbeadictionarywhosecontentsoverridesanypre-existingdefaults.

ThesectionDEFAULTisspecial.

Page 145: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

options(section)Returnalistofoptionnamesforthegivensectionname.

read(filenames)Readandparseafilenameoralistoffilenames.

Filesthatcannotbeopenedaresilentlyignored;thisisdesignedsothatyoucanspecifyalistofpotentialconfigurationfilelocations(e.g.currentdirectory,user’shomedirectory,systemwidedirectory),andallexistingconfigurationfilesinthelistwillberead.Asinglefilenamemayalsobegiven.

Returnlistofsuccessfullyreadfiles.

readfp(fp,filename=None)Likeread()buttheargumentmustbeafile-likeobject.

The`fp’argumentmusthavea`readline’method.Optionalsecondargumentisthe`filename’,whichifnotgiven,istakenfromfp.name.Iffphasno`name’attribute,`<???>’isused.

reset_to_defaults(save=True,verbose=False)ResetconfigtoDefaultvalues

sections()Returnalistofsectionnames,excluding[DEFAULT]

set(section,option,value,verbose=False,save=True)Setanoptionsection=None:attributeadefaultsectionname

set_as_defaults()Setdefaultsfromthecurrentconfig

set_default(section,option,default_value)

Page 146: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

SetDefaultvalueforagiven(section,option)->calledwhenanew(section,option)issetandnodefaultexists

set_version(version='0.0.0',save=True)Setconfiguration(notapplication!)version

write(fp)Writean.ini-formatrepresentationoftheconfigurationstate.

guidata.userconfig.encode_to_utf8(x)EncodeunicodestringinUTF-8–butonlywithPython2

guidata.userconfig.get_home_dir()Returnuserhomedirectory

Page 147: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

utilsTheguidata.utilsmoduleprovidesvariousutilityhelperfunctions(purepython).

classguidata.utils.FormatTime(hours_fmt='%dH',min_fmt='%dmin',sec_fmt='%ds')

Helperobjectthatsubstituteasastringtoformatsecondsinto(nnHmmminsss)

classguidata.utils.Timer

MATLAB-liketimer:tic,toc

tic(cat)Startingtimer

toc(cat,msg='delta:')Stoppingtimer

guidata.utils.add_extension(item,value)Addextensiontofilenameitem:dataitemrepresentingafilepathvalue:possiblevaluefordataitem

guidata.utils.assert_interface_supported(klass,iface)

Makessureaclasssupportsaninterface

guidata.utils.assert_interfaces_valid(klass)Makessureaclasssupportstheinterfacesitdeclares

Page 148: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

guidata.utils.bind(fct,value)Returnsacallablerepresentingthefunction‘fct’withit’sfirstargumentboundtothevalue

ifg=bind(f,1)andfisafunctionofx,y,ztheng(y,z)willreturnf(1,y,z)

guidata.utils.cythonize_all(relpath)CythonizeallCythonmodulesinrelativepath

guidata.utils.decode_fs_string(string)Convertstringfromfilesystemcharsettounicode

guidata.utils.get_module_path(modname)Returnmodulemodnamebasepath

guidata.utils.get_package_data(name,extlist,exclude_dirs=[])

Returndatafilesforpackagenamewithextensionsinextlist(searchrecursivelyinpackagedirectories)

guidata.utils.get_subpackages(name)Returnsubpackagesofpackagename

guidata.utils.is_module_available(module_name)ReturnTrueifPythonmoduleisavailable

guidata.utils.is_program_installed(basename)ReturnprogramabsolutepathifinstalledinPATHOtherwise,returnNone

Page 149: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

[source]

[source]

[source]

[source]

[source]

[source]

guidata.utils.isodate_to_localtime(datestr)ConvertISOdatetolocaltime

guidata.utils.localtime_to_isodate(time_struct)ConvertlocaltimetoISOdate

guidata.utils.min_equals_max(min,max)ReturnTrueifminimiumvalueequalsmaximumvalueReturnFalseifnot,orifmaximumorminimumvalueisnotdefined

guidata.utils.pairs(iterable)Asimplegeneratorthattakesalistandgeneratespairs[(l[0],l[1]),...,(l[n-2],l[n-1])]

guidata.utils.restore_dataset(source,dest)Restoredestdatasetitemsfromsourcedataset

Thisfunctionisalmostthesameasupdate_datasetbutrequiresthesourcetobeaDataSetinsteadofthedestination.

Symetricallyfromupdate_dataset,destmayalsobeadictionary.

guidata.utils.run_program(name,args='',cwd=None,shell=True,wait=False)

Runprograminaseparateprocess

guidata.utils.trace(fct)Adecoratorthattracesfunctionentry/exitusedfordebuggingonly

guidata.utils.unicode_to_stdout(ustr)convertaunicodestringtoabytestringencodedforstdoutoutput

Page 150: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[source]

[source]

indexmodules |previous |guidata1.6.1documentation »

guidata.utils.update_dataset(dest,source,visible_only=False)

Updatedestdatasetitemsfromsourcedataset

destshouldinheritfromDataSet,whereassourcecanbe:

anyPythonobjectcontainingmatchingattributenamesoradictionarywithmatchingkeynames

ForeachDataSetitem,thefunctionwilltrytogettheattributeofthesamenamefromthesource.

visible_only:ifTrue,updateonlyvisibleitems

guidata.utils.utf8_to_unicode(string)ConvertUTF-8stringtoUnicode

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 151: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation »

Page 152: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Index

A|B|C|D|E|F|G|H|I|K|L|M|N|O|P|R|S|T|U|V|W|X|Y

Page 153: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Aaccept()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.ActivableDataSetmethod)(guidata.dataset.datatypes.BeginGroupmethod)

add_module_data_files()(guidata.disthelpers.Distributionmethod)add_modules()(guidata.disthelpers.Distributionmethod)add_pyqt4()(guidata.disthelpers.Distributionmethod)add_pyside()(guidata.disthelpers.Distributionmethod)add_qt_bindings()(guidata.disthelpers.Distributionmethod)add_section()(guidata.userconfig.UserConfigmethod)add_separator()(inmoduleguidata.qthelpers)add_text_data_file()(guidata.disthelpers.Distributionmethod)addAction()(guidata.qthelpers.ShowStdIconsmethod)addActions()(guidata.qthelpers.ShowStdIconsmethod)adjustSize()(guidata.qthelpers.ShowStdIconsmethod)assert_interface_supported()(inmoduleguidata.utils)assert_interfaces_valid()(in

Page 154: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataSetmethod)(guidata.dataset.datatypes.DataSetGroupmethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

acceptDrops()(guidata.qthelpers.ShowStdIconsmethod)actionEvent()(guidata.qthelpers.ShowStdIconsmethod)actions()(guidata.qthelpers.ShowStdIconsmethod)ActivableDataSet(classinguidata.dataset.datatypes)activateWindow()(guidata.qthelpers.ShowStdIconsmethod)active_setup()(guidata.dataset.datatypes.ActivableDataSetclassmethod)add_actions()(inmoduleguidata.qthelpers)add_executable()(guidata.disthelpers.Distributionmethod)add_extension()(inmoduleguidata.utils)add_image_module_path()(inmoduleguidata.configtools)add_image_path()(inmoduleguidata.configtools)add_matplotlib()(guidata.disthelpers.Distributionmethod)add_module_data_dir()(guidata.disthelpers.Distributionmethod)

moduleguidata.utils)autoFillBackground()(guidata.qthelpers.ShowStdIconsmethod)

Page 155: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

BbackgroundRole()(guidata.qthelpers.ShowStdIconsmethod)baseSize()(guidata.qthelpers.ShowStdIconsmethod)BeginGroup(classinguidata.dataset.datatypes)bind()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)

BoolItem(classinguidata.dataset.dataitems)build()(guidata.disthelpers.Distributionmethod)build_cx_freeze()(guidata.disthelpers.Distributionmethod)build_py2exe()(guidata.disthelpers.Distributionmethod)ButtonItem(classinguidata.dataset.dataitems)

Page 156: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)(inmoduleguidata.utils)

blockSignals()(guidata.qthelpers.ShowStdIconsmethod)

Page 157: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

CchangeEvent()(guidata.qthelpers.ShowStdIconsmethod)check()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)(guidata.dataset.datatypes.DataSetGroupmethod)

check_default_values()(guidata.userconfig.UserConfigmethod)check_item()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)

colorCount()(guidata.qthelpers.ShowStdIconsmethod)ColorItem(classinguidata.dataset.dataitems)connect()(guidata.qthelpers.ShowStdIconsmethod)contentsMargins()(guidata.qthelpers.ShowStdIconsmethod)contentsRect()(guidata.qthelpers.ShowStdIconsmethod)contextMenuEvent()(guidata.qthelpers.ShowStdIconsmethod)contextMenuPolicy()(guidata.qthelpers.ShowStdIconsmethod)create()(guidata.qthelpers.ShowStdIconsmethod)create_action()(inmoduleguidata.qthelpers)create_groupbox()(inmoduleguidata.qthelpers)create_msvc_data_files()(inmoduleguidata.disthelpers)create_toolbutton()(inmoduleguidata.qthelpers)cursor()(guidata.qthelpers.ShowStdIconsmethod)customContextMenuRequested

Page 158: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

check_value()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItem

(guidata.qthelpers.ShowStdIconsattribute)cythonize_all()(inmoduleguidata.utils)

Page 159: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

childAt()(guidata.qthelpers.ShowStdIconsmethod)children()(guidata.qthelpers.ShowStdIconsmethod)childrenRect()(guidata.qthelpers.ShowStdIconsmethod)childrenRegion()(guidata.qthelpers.ShowStdIconsmethod)ChoiceItem(classinguidata.dataset.dataitems)cleanup()(guidata.userconfig.UserConfigmethod)clearFocus()(guidata.qthelpers.ShowStdIconsmethod)clearMask()(guidata.qthelpers.ShowStdIconsmethod)close()(guidata.qthelpers.ShowStdIconsmethod)closeEvent()(guidata.qthelpers.ShowStdIcons

Page 160: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)

Page 161: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

DDataItem(classinguidata.dataset.datatypes)DataItemProxy(classinguidata.dataset.datatypes)DataItemVariable(classinguidata.dataset.datatypes)DataSet(classinguidata.dataset.datatypes)DataSetGroup(classinguidata.dataset.datatypes)DataSetMeta(classinguidata.dataset.datatypes)DateItem(classinguidata.dataset.dataitems)decode_fs_string()(inmoduleguidata.utils)deleteLater()(guidata.qthelpers.ShowStdIconsmethod)depth()(guidata.qthelpers.ShowStdIconsmethod)deserialize()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)

devType()(guidata.qthelpers.ShowStdIconsmethod)DictItem(classinguidata.dataset.dataitems)DirectoryItem(classinguidata.dataset.dataitems)disconnect()(guidata.qthelpers.ShowStdIconsmethod)Distribution(classinguidata.disthelpers)dragEnterEvent()(guidata.qthelpers.ShowStdIconsmethod)dragLeaveEvent()(guidata.qthelpers.ShowStdIconsmethod)dragMoveEvent()(guidata.qthelpers.ShowStdIconsmethod)dropEvent()(guidata.qthelpers.ShowStdIconsmethod)dumpObjectInfo()(guidata.qthelpers.ShowStdIconsmethod)dumpObjectTree()(guidata.qthelpers.ShowStdIconsmethod)dynamicPropertyNames()(guidata.qthelpers.ShowStdIconsmethod)

Page 162: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

destroy()(guidata.qthelpers.ShowStdIconsmethod)destroyed(guidata.qthelpers.ShowStdIconsattribute)

Page 163: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Eedit()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)(guidata.dataset.datatypes.DataSetGroupmethod)

effectiveWinId()(guidata.qthelpers.ShowStdIconsmethod)emit()(guidata.qthelpers.ShowStdIconsmethod)enabledChange()(guidata.qthelpers.ShowStdIconsmethod)encode_to_utf8()(inmoduleguidata.userconfig)

EndGroup(classinguidata.dataset.datatypes)ensurePolished()(guidata.qthelpers.ShowStdIconsmethod)enterEvent()(guidata.qthelpers.ShowStdIconsmethod)event()(guidata.qthelpers.ShowStdIconsmethod)eventFilter()(guidata.qthelpers.ShowStdIconsmethod)

Page 164: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Ffilename()(guidata.userconfig.UserConfigmethod)FileOpenItem(classinguidata.dataset.dataitems)FileSaveItem(classinguidata.dataset.dataitems)FilesOpenItem(classinguidata.dataset.dataitems)find()(guidata.qthelpers.ShowStdIconsmethod)findChild()(guidata.qthelpers.ShowStdIconsmethod)findChildren()(guidata.qthelpers.ShowStdIconsmethod)FloatArrayItem(classinguidata.dataset.dataitems)FloatItem(classinguidata.dataset.dataitems)focusInEvent()(guidata.qthelpers.ShowStdIconsmethod)focusNextChild()(guidata.qthelpers.ShowStdIconsmethod)focusNextPrevChild()(guidata.qthelpers.ShowStdIconsmethod)focusOutEvent()(guidata.qthelpers.ShowStdIconsmethod)focusPolicy()

focusWidget()(guidata.qthelpers.ShowStdIconsmethod)font()(guidata.qthelpers.ShowStdIconsmethod)font_is_installed()(inmoduleguidata.configtools)fontChange()(guidata.qthelpers.ShowStdIconsmethod)FontFamilyItem(classinguidata.dataset.dataitems)fontInfo()(guidata.qthelpers.ShowStdIconsmethod)fontMetrics()(guidata.qthelpers.ShowStdIconsmethod)foregroundRole()(guidata.qthelpers.ShowStdIconsmethod)format_string()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItem

Page 165: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.qthelpers.ShowStdIconsmethod)focusPreviousChild()(guidata.qthelpers.ShowStdIconsmethod)focusProxy()(guidata.qthelpers.ShowStdIconsmethod)

method)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.ObjectItemmethod)

FormatProp(classinguidata.dataset.datatypes)FormatTime(classinguidata.utils)frameGeometry()(guidata.qthelpers.ShowStdIconsmethod)frameSize()(guidata.qthelpers.ShowStdIconsmethod)from_string()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)

Page 166: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

FuncProp(classinguidata.dataset.datatypes)

Page 167: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Ggeometry()(guidata.qthelpers.ShowStdIconsmethod)get()(guidata.dataset.datatypes.DataItemVariablemethod)

(guidata.userconfig.UserConfigmethod)get_auto_help()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)

get_string_value()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxy

Page 168: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

get_brush()(inmoduleguidata.configtools)get_changeset()(inmoduleguidata.disthelpers)get_comment()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)(guidata.dataset.datatypes.DataSetGroupmethod)

get_default()(guidata.userconfig.UserConfigmethod)get_family()(inmoduleguidata.configtools)get_font()(inmoduleguidata.configtools)get_help()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItem

method)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

get_subpackages()(inmoduleguidata.utils)get_title()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)(guidata.dataset.datatypes.DataSetGroupmethod)

get_translation()(inmoduleguidata.configtools)get_value()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItem

Page 169: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

get_home_dir()(inmoduleguidata.userconfig)get_icon()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)(inmoduleguidata.configtools)

get_image_file_path()(inmoduleguidata.configtools)get_image_label()(inmoduleguidata.configtools)get_image_layout()(inmodule

method)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

get_value_from_reader()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItem

Page 170: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

guidata.configtools)get_module_data_path()(inmoduleguidata.configtools)get_module_locale_path()(inmoduleguidata.configtools)get_module_path()(inmoduleguidata.utils)get_msvc_dlls()(inmoduleguidata.disthelpers)get_msvc_version()(inmoduleguidata.disthelpers)get_package_data()(inmoduleguidata.utils)get_pen()(inmoduleguidata.configtools)get_prop()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItem

method)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.ObjectItemmethod)

get_version()(guidata.userconfig.UserConfigmethod)GetAttrProp(classinguidata.dataset.datatypes)getContentsMargins()(guidata.qthelpers.ShowStdIconsmethod)grabGesture()(guidata.qthelpers.ShowStdIconsmethod)grabKeyboard()(guidata.qthelpers.ShowStdIconsmethod)grabMouse()(guidata.qthelpers.ShowStdIconsmethod)grabShortcut()(guidata.qthelpers.ShowStdIconsmethod)graphicsEffect()(guidata.qthelpers.ShowStdIconsmethod)graphicsProxyWidget()(guidata.qthelpers.ShowStdIconsmethod)GroupItem(classinguidata.dataset.datatypes)guidata(module)guidata.configtools(module)guidata.dataset(module)guidata.dataset.dataitems(module)guidata.dataset.datatypes(module)

Page 171: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

get_prop_value()(guidata.dataset.datatypes.DataItemProxymethod)

(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.GroupItemmethod)

get_std_icon()(inmoduleguidata.qthelpers)

guidata.disthelpers(module)guidata.qthelpers(module)guidata.userconfig(module)guidata.utils(module)

Page 172: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Hhas_option()(guidata.userconfig.UserConfigmethod)has_section()(guidata.userconfig.UserConfigmethod)hasFocus()(guidata.qthelpers.ShowStdIconsmethod)hasMouseTracking()(guidata.qthelpers.ShowStdIconsmethod)height()(guidata.qthelpers.ShowStdIconsmethod)

heightForWidth()(guidata.qthelpers.ShowStdIconsmethod)heightMM()(guidata.qthelpers.ShowStdIconsmethod)hide()(guidata.qthelpers.ShowStdIconsmethod)hideEvent()(guidata.qthelpers.ShowStdIconsmethod)horizontal()(guidata.dataset.dataitems.MultipleChoiceItemmethod)

Page 173: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

IImageChoiceItem(classinguidata.dataset.dataitems)inherits()(guidata.qthelpers.ShowStdIconsmethod)inputContext()(guidata.qthelpers.ShowStdIconsmethod)inputMethodEvent()(guidata.qthelpers.ShowStdIconsmethod)inputMethodHints()(guidata.qthelpers.ShowStdIconsmethod)inputMethodQuery()(guidata.qthelpers.ShowStdIconsmethod)insertAction()(guidata.qthelpers.ShowStdIconsmethod)insertActions()(guidata.qthelpers.ShowStdIconsmethod)installEventFilter()(guidata.qthelpers.ShowStdIconsmethod)IntItem(classinguidata.dataset.dataitems)is_module_available()(inmoduleguidata.utils)is_program_installed()(inmoduleguidata.utils)isActiveWindow()(guidata.qthelpers.ShowStdIconsmethod)

isEnabledToTLW()(guidata.qthelpers.ShowStdIconsmethod)isFullScreen()(guidata.qthelpers.ShowStdIconsmethod)isHidden()(guidata.qthelpers.ShowStdIconsmethod)isLeftToRight()(guidata.qthelpers.ShowStdIconsmethod)isMaximized()(guidata.qthelpers.ShowStdIconsmethod)isMinimized()(guidata.qthelpers.ShowStdIconsmethod)isModal()(guidata.qthelpers.ShowStdIconsmethod)isodate_to_localtime()(inmoduleguidata.utils)isRightToLeft()(guidata.qthelpers.ShowStdIconsmethod)isTopLevel()(guidata.qthelpers.ShowStdIconsmethod)isVisible()(guidata.qthelpers.ShowStdIconsmethod)isVisibleTo()(guidata.qthelpers.ShowStdIconsmethod)

Page 174: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

isAncestorOf()(guidata.qthelpers.ShowStdIconsmethod)isEnabled()(guidata.qthelpers.ShowStdIconsmethod)isEnabledTo()(guidata.qthelpers.ShowStdIconsmethod)

isWidgetType()(guidata.qthelpers.ShowStdIconsmethod)isWindow()(guidata.qthelpers.ShowStdIconsmethod)isWindowModified()(guidata.qthelpers.ShowStdIconsmethod)items()(guidata.userconfig.UserConfigmethod)

Page 175: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Kkeybinding()(inmoduleguidata.qthelpers)keyboardGrabber()(guidata.qthelpers.ShowStdIconsmethod)keyPressEvent()(guidata.qthelpers.ShowStdIconsmethod)

keyReleaseEvent()(guidata.qthelpers.ShowStdIconsmethod)killTimer()(guidata.qthelpers.ShowStdIconsmethod)

Page 176: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Llabel()(guidata.dataset.datatypes.DataItemVariablemethod)languageChange()(guidata.qthelpers.ShowStdIconsmethod)layout()(guidata.qthelpers.ShowStdIconsmethod)layoutDirection()(guidata.qthelpers.ShowStdIconsmethod)leaveEvent()(guidata.qthelpers.ShowStdIconsmethod)

locale()(guidata.qthelpers.ShowStdIconsmethod)localtime_to_isodate()(inmoduleguidata.utils)logicalDpiX()(guidata.qthelpers.ShowStdIconsmethod)logicalDpiY()(guidata.qthelpers.ShowStdIconsmethod)lower()(guidata.qthelpers.ShowStdIconsmethod)

Page 177: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

MmapFrom()(guidata.qthelpers.ShowStdIconsmethod)mapFromGlobal()(guidata.qthelpers.ShowStdIconsmethod)mapFromParent()(guidata.qthelpers.ShowStdIconsmethod)mapTo()(guidata.qthelpers.ShowStdIconsmethod)mapToGlobal()(guidata.qthelpers.ShowStdIconsmethod)mapToParent()(guidata.qthelpers.ShowStdIconsmethod)mask()(guidata.qthelpers.ShowStdIconsmethod)maximumHeight()(guidata.qthelpers.ShowStdIconsmethod)maximumSize()(guidata.qthelpers.ShowStdIconsmethod)maximumWidth()(guidata.qthelpers.ShowStdIconsmethod)metaObject()(guidata.qthelpers.ShowStdIconsmethod)metric()(guidata.qthelpers.ShowStdIcons

minimumSize()(guidata.qthelpers.ShowStdIconsmethod)minimumSizeHint()(guidata.qthelpers.ShowStdIconsmethod)minimumWidth()(guidata.qthelpers.ShowStdIconsmethod)mouseDoubleClickEvent()(guidata.qthelpers.ShowStdIconsmethod)mouseGrabber()(guidata.qthelpers.ShowStdIconsmethod)mouseMoveEvent()(guidata.qthelpers.ShowStdIconsmethod)mousePressEvent()(guidata.qthelpers.ShowStdIconsmethod)mouseReleaseEvent()(guidata.qthelpers.ShowStdIconsmethod)move()(guidata.qthelpers.ShowStdIconsmethod)moveEvent()(guidata.qthelpers.ShowStdIconsmethod)moveToThread()(guidata.qthelpers.ShowStdIconsmethod)mro()(guidata.dataset.datatypes.DataSetMeta

Page 178: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)min_equals_max()(inmoduleguidata.utils)minimumHeight()(guidata.qthelpers.ShowStdIconsmethod)

method)MultipleChoiceItem(classinguidata.dataset.dataitems)

Page 179: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

NnativeParentWidget()(guidata.qthelpers.ShowStdIconsmethod)nextInFocusChain()(guidata.qthelpers.ShowStdIconsmethod)normalGeometry()(guidata.qthelpers.ShowStdIconsmethod)

NotProp(classinguidata.dataset.datatypes)numColors()(guidata.qthelpers.ShowStdIconsmethod)NumericTypeItem(classinguidata.dataset.dataitems)

Page 180: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

OObj(classinguidata.dataset.datatypes)ObjectItem(classinguidata.dataset.datatypes)objectName()(guidata.qthelpers.ShowStdIconsmethod)

options()(guidata.userconfig.UserConfigmethod)overrideWindowFlags()(guidata.qthelpers.ShowStdIconsmethod)overrideWindowState()(guidata.qthelpers.ShowStdIconsmethod)

Page 181: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

PpaintEngine()(guidata.qthelpers.ShowStdIconsmethod)paintEvent()(guidata.qthelpers.ShowStdIconsmethod)paintingActive()(guidata.qthelpers.ShowStdIconsmethod)pairs()(inmoduleguidata.utils)palette()(guidata.qthelpers.ShowStdIconsmethod)paletteChange()(guidata.qthelpers.ShowStdIconsmethod)parent()(guidata.qthelpers.ShowStdIconsmethod)parentWidget()(guidata.qthelpers.ShowStdIconsmethod)

physicalDpiX()(guidata.qthelpers.ShowStdIconsmethod)physicalDpiY()(guidata.qthelpers.ShowStdIconsmethod)pos()(guidata.qthelpers.ShowStdIconsmethod)prepend_module_to_path()(inmoduleguidata.disthelpers)prepend_modules_to_path()(inmoduleguidata.disthelpers)previousInFocusChain()(guidata.qthelpers.ShowStdIconsmethod)property()(guidata.qthelpers.ShowStdIconsmethod)pyqtConfigure()(guidata.qthelpers.ShowStdIconsmethod)

Page 182: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Rraise_()(guidata.qthelpers.ShowStdIconsmethod)read()(guidata.userconfig.UserConfigmethod)readfp()(guidata.userconfig.UserConfigmethod)rect()(guidata.qthelpers.ShowStdIconsmethod)releaseKeyboard()(guidata.qthelpers.ShowStdIconsmethod)releaseMouse()(guidata.qthelpers.ShowStdIconsmethod)releaseShortcut()(guidata.qthelpers.ShowStdIconsmethod)remove_dir()(inmoduleguidata.disthelpers)removeAction()(guidata.qthelpers.ShowStdIconsmethod)removeEventFilter()(guidata.qthelpers.ShowStdIconsmethod)

render()(guidata.qthelpers.ShowStdIconsmethod)repaint()(guidata.qthelpers.ShowStdIconsmethod)reset_to_defaults()(guidata.userconfig.UserConfigmethod)resetInputContext()(guidata.qthelpers.ShowStdIconsmethod)resize()(guidata.qthelpers.ShowStdIconsmethod)resizeEvent()(guidata.qthelpers.ShowStdIconsmethod)restore_dataset()(inmoduleguidata.utils)restoreGeometry()(guidata.qthelpers.ShowStdIconsmethod)run_program()(inmoduleguidata.utils)

Page 183: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

SsaveGeometry()(guidata.qthelpers.ShowStdIconsmethod)scroll()(guidata.qthelpers.ShowStdIconsmethod)sections()(guidata.userconfig.UserConfigmethod)serialize()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.ObjectItem

setObjectName()(guidata.qthelpers.ShowStdIconsmethod)setPalette()(guidata.qthelpers.ShowStdIconsmethod)setParent()(guidata.qthelpers.ShowStdIconsmethod)setProperty()(guidata.qthelpers.ShowStdIconsmethod)setShortcutAutoRepeat()(guidata.qthelpers.ShowStdIconsmethod)setShortcutEnabled()(guidata.qthelpers.ShowStdIconsmethod)setShown()(guidata.qthelpers.ShowStdIconsmethod)setSizeIncrement()(guidata.qthelpers.ShowStdIconsmethod)setSizePolicy()(guidata.qthelpers.ShowStdIconsmethod)setStatusTip()(guidata.qthelpers.ShowStdIconsmethod)setStyle()(guidata.qthelpers.ShowStdIconsmethod)setStyleSheet()(guidata.qthelpers.ShowStdIcons

Page 184: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)set()(guidata.dataset.datatypes.DataItemVariablemethod)

(guidata.dataset.datatypes.FormatPropmethod)(guidata.userconfig.UserConfigmethod)

set_as_defaults()(guidata.userconfig.UserConfigmethod)set_default()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)

method)setTabOrder()(guidata.qthelpers.ShowStdIconsmethod)setToolTip()(guidata.qthelpers.ShowStdIconsmethod)setup()(guidata.disthelpers.Distributionmethod)setUpdatesEnabled()(guidata.qthelpers.ShowStdIconsmethod)setVisible()(guidata.qthelpers.ShowStdIconsmethod)setWhatsThis()(guidata.qthelpers.ShowStdIconsmethod)setWindowFilePath()(guidata.qthelpers.ShowStdIconsmethod)setWindowFlags()(guidata.qthelpers.ShowStdIconsmethod)setWindowIcon()(guidata.qthelpers.ShowStdIconsmethod)setWindowIconText()(guidata.qthelpers.ShowStdIconsmethod)setWindowModality()(guidata.qthelpers.ShowStdIconsmethod)setWindowModified()(guidata.qthelpers.ShowStdIconsmethod)setWindowOpacity()(guidata.qthelpers.ShowStdIcons

Page 185: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)(guidata.userconfig.UserConfigmethod)

set_defaults()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)set_from_string()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)

method)setWindowRole()(guidata.qthelpers.ShowStdIconsmethod)setWindowState()(guidata.qthelpers.ShowStdIconsmethod)setWindowTitle()(guidata.qthelpers.ShowStdIconsmethod)show()(guidata.qthelpers.ShowStdIconsmethod)show_std_icons()(inmoduleguidata.qthelpers)showEvent()(guidata.qthelpers.ShowStdIconsmethod)showFullScreen()(guidata.qthelpers.ShowStdIconsmethod)showMaximized()(guidata.qthelpers.ShowStdIconsmethod)showMinimized()(guidata.qthelpers.ShowStdIconsmethod)showNormal()(guidata.qthelpers.ShowStdIconsmethod)ShowStdIcons(classinguidata.qthelpers)ShowStdIcons.RenderFlags(classinguidata.qthelpers)signalsBlocked()(guidata.qthelpers.ShowStdIconsmethod)size()(guidata.qthelpers.ShowStdIcons

Page 186: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.DataItemVariablemethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

set_name()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItem

method)sizeHint()(guidata.qthelpers.ShowStdIconsmethod)sizeIncrement()(guidata.qthelpers.ShowStdIconsmethod)sizePolicy()(guidata.qthelpers.ShowStdIconsmethod)stackUnder()(guidata.qthelpers.ShowStdIconsmethod)startTimer()(guidata.qthelpers.ShowStdIconsmethod)statusTip()(guidata.qthelpers.ShowStdIconsmethod)StringItem(classinguidata.dataset.dataitems)strip_version()(inmoduleguidata.disthelpers)style()(guidata.qthelpers.ShowStdIconsmethod)styleSheet()(guidata.qthelpers.ShowStdIconsmethod)

Page 187: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.ObjectItemmethod)

set_pos()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)

Page 188: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.FontFamilyItemmethod)(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.ObjectItemmethod)

set_prop()(guidata.dataset.dataitems.BoolItemmethod)

(guidata.dataset.dataitems.ButtonItemmethod)(guidata.dataset.dataitems.ChoiceItemmethod)(guidata.dataset.dataitems.ColorItemmethod)(guidata.dataset.dataitems.DateItemmethod)(guidata.dataset.dataitems.DictItemmethod)(guidata.dataset.dataitems.DirectoryItemmethod)(guidata.dataset.dataitems.FileOpenItemmethod)(guidata.dataset.dataitems.FileSaveItemmethod)(guidata.dataset.dataitems.FilesOpenItemmethod)(guidata.dataset.dataitems.FloatArrayItemmethod)(guidata.dataset.dataitems.FloatItemmethod)(guidata.dataset.dataitems.FontFamilyItemmethod)

Page 189: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

(guidata.dataset.dataitems.ImageChoiceItemmethod)(guidata.dataset.dataitems.IntItemmethod)(guidata.dataset.dataitems.MultipleChoiceItemmethod)(guidata.dataset.dataitems.NumericTypeItemmethod)(guidata.dataset.dataitems.StringItemmethod)(guidata.dataset.dataitems.TextItemmethod)(guidata.dataset.datatypes.BeginGroupmethod)(guidata.dataset.datatypes.DataItemmethod)(guidata.dataset.datatypes.DataItemProxymethod)(guidata.dataset.datatypes.EndGroupmethod)(guidata.dataset.datatypes.GroupItemmethod)(guidata.dataset.datatypes.ObjectItemmethod)

set_readonly()(guidata.dataset.datatypes.ActivableDataSetmethod)set_version()(guidata.userconfig.UserConfigmethod)set_writeable()(guidata.dataset.datatypes.ActivableDataSetmethod)setAcceptDrops()(guidata.qthelpers.ShowStdIconsmethod)setAttribute()(guidata.qthelpers.ShowStdIconsmethod)setAutoFillBackground()(guidata.qthelpers.ShowStdIconsmethod)setBackgroundRole()(guidata.qthelpers.ShowStdIconsmethod)setBaseSize()(guidata.qthelpers.ShowStdIconsmethod)setContentsMargins()(guidata.qthelpers.ShowStdIconsmethod)

Page 190: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

setContextMenuPolicy()(guidata.qthelpers.ShowStdIconsmethod)setCursor()(guidata.qthelpers.ShowStdIconsmethod)setDisabled()(guidata.qthelpers.ShowStdIconsmethod)setEnabled()(guidata.qthelpers.ShowStdIconsmethod)setFixedHeight()(guidata.qthelpers.ShowStdIconsmethod)setFixedSize()(guidata.qthelpers.ShowStdIconsmethod)setFixedWidth()(guidata.qthelpers.ShowStdIconsmethod)setFocus()(guidata.qthelpers.ShowStdIconsmethod)setFocusPolicy()(guidata.qthelpers.ShowStdIconsmethod)setFocusProxy()(guidata.qthelpers.ShowStdIconsmethod)setFont()(guidata.qthelpers.ShowStdIconsmethod)setForegroundRole()(guidata.qthelpers.ShowStdIconsmethod)setGeometry()(guidata.qthelpers.ShowStdIconsmethod)setGraphicsEffect()(guidata.qthelpers.ShowStdIconsmethod)setHidden()(guidata.qthelpers.ShowStdIconsmethod)setInputContext()(guidata.qthelpers.ShowStdIconsmethod)setInputMethodHints()(guidata.qthelpers.ShowStdIconsmethod)setLayout()(guidata.qthelpers.ShowStdIconsmethod)setLayoutDirection()(guidata.qthelpers.ShowStdIconsmethod)setLocale()(guidata.qthelpers.ShowStdIcons

Page 191: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

method)setMask()(guidata.qthelpers.ShowStdIconsmethod)setMaximumHeight()(guidata.qthelpers.ShowStdIconsmethod)setMaximumSize()(guidata.qthelpers.ShowStdIconsmethod)setMaximumWidth()(guidata.qthelpers.ShowStdIconsmethod)setMinimumHeight()(guidata.qthelpers.ShowStdIconsmethod)setMinimumSize()(guidata.qthelpers.ShowStdIconsmethod)setMinimumWidth()(guidata.qthelpers.ShowStdIconsmethod)setMouseTracking()(guidata.qthelpers.ShowStdIconsmethod)

Page 192: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

TtabletEvent()(guidata.qthelpers.ShowStdIconsmethod)target_dir(guidata.disthelpers.Distributionattribute)testAttribute()(guidata.qthelpers.ShowStdIconsmethod)text_edit()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)(guidata.dataset.datatypes.DataSetGroupmethod)

text_to_qcolor()(inmoduleguidata.qthelpers)TextItem(classinguidata.dataset.dataitems)thread()(guidata.qthelpers.ShowStdIconsmethod)tic()(guidata.utils.Timermethod)Timer(classinguidata.utils)

to_include_files()(inmoduleguidata.disthelpers)to_string()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)

toc()(guidata.utils.Timermethod)toolTip()(guidata.qthelpers.ShowStdIconsmethod)topLevelWidget()(guidata.qthelpers.ShowStdIconsmethod)tr()(guidata.qthelpers.ShowStdIconsmethod)trace()(inmoduleguidata.utils)trUtf8()(guidata.qthelpers.ShowStdIconsmethod)type(guidata.dataset.dataitems.BoolItemattribute)

(guidata.dataset.dataitems.DateItemattribute)(guidata.dataset.dataitems.FilesOpenItemattribute)(guidata.dataset.dataitems.FloatItemattribute)(guidata.dataset.dataitems.IntItemattribute)

Page 193: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

UunderMouse()(guidata.qthelpers.ShowStdIconsmethod)ungrabGesture()(guidata.qthelpers.ShowStdIconsmethod)unicode_to_stdout()(inmoduleguidata.utils)unsetCursor()(guidata.qthelpers.ShowStdIconsmethod)unsetLayoutDirection()(guidata.qthelpers.ShowStdIconsmethod)unsetLocale()(guidata.qthelpers.ShowStdIconsmethod)update()(guidata.qthelpers.ShowStdIconsmethod)

update_dataset()(inmoduleguidata.utils)updateGeometry()(guidata.qthelpers.ShowStdIconsmethod)updateMicroFocus()(guidata.qthelpers.ShowStdIconsmethod)updatesEnabled()(guidata.qthelpers.ShowStdIconsmethod)UserConfig(classinguidata.userconfig)utf8_to_unicode()(inmoduleguidata.utils)

Page 194: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

VValueProp(classinguidata.dataset.datatypes)vertical()(guidata.dataset.dataitems.MultipleChoiceItemmethod)

view()(guidata.dataset.datatypes.ActivableDataSetmethod)

(guidata.dataset.datatypes.DataSetmethod)

visibleRegion()(guidata.qthelpers.ShowStdIconsmethod)

Page 195: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

WwhatsThis()(guidata.qthelpers.ShowStdIconsmethod)wheelEvent()(guidata.qthelpers.ShowStdIconsmethod)width()(guidata.qthelpers.ShowStdIconsmethod)widthMM()(guidata.qthelpers.ShowStdIconsmethod)window()(guidata.qthelpers.ShowStdIconsmethod)windowActivationChange()(guidata.qthelpers.ShowStdIconsmethod)windowFilePath()(guidata.qthelpers.ShowStdIconsmethod)windowFlags()(guidata.qthelpers.ShowStdIconsmethod)windowIcon()(guidata.qthelpers.ShowStdIconsmethod)windowIconText()(guidata.qthelpers.ShowStdIconsmethod)

windowModality()(guidata.qthelpers.ShowStdIconsmethod)windowOpacity()(guidata.qthelpers.ShowStdIconsmethod)windowRole()(guidata.qthelpers.ShowStdIconsmethod)windowState()(guidata.qthelpers.ShowStdIconsmethod)windowTitle()(guidata.qthelpers.ShowStdIconsmethod)windowType()(guidata.qthelpers.ShowStdIconsmethod)winEvent()(guidata.qthelpers.ShowStdIconsmethod)winId()(guidata.qthelpers.ShowStdIconsmethod)write()(guidata.userconfig.UserConfigmethod)

Page 196: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Xx()(guidata.qthelpers.ShowStdIconsmethod)

Page 197: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation »

Yy()(guidata.qthelpers.ShowStdIconsmethod)

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 198: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 199: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

Sourcecodeforguidata.dataset.dataitems

#-*-coding:utf-8-*-

#

#Copyright©2009-2010CEA

#PierreRaybaut

#LicensedunderthetermsoftheCECILLLicense

#(seeguidata/__init__.pyfordetails)

"""

dataset.dataitems

=================

The``guidata.dataset.dataitems``modulecontainsimplementationfor

concreteDataItems.

"""

from__future__importdivision,unicode_literals

importos

importre

importdatetime

importcollections

fromguidata.dataset.datatypesimportDataItem,ItemProperty

fromguidata.utilsimportutf8_to_unicode,add_extension

fromguidata.configimport_

fromguidata.py3compatimportto_text_string,is_text_string

classNumericTypeItem(DataItem):

"""

Numericdataitem

"""

type=None

Page 200: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

def__init__(self,label,default=None,min=None

nonzero=None,unit='',help=''):

DataItem.__init__(self,label,default=default

self.set_prop("data",min=min,max=max,nonzero

self.set_prop("display",unit=unit)

defget_auto_help(self,instance):

"""OverrideDataItemmethod"""

auto_help={int:_('integer'),float:_('float'

_min=self.get_prop_value("data",instance

_max=self.get_prop_value("data",instance

nonzero=self.get_prop_value("data",instance

unit=self.get_prop_value("display",instance

if_minisnotNoneand_maxisnotNone:

auto_help+=_("between")+str(_min)+

elif_minisnotNone:

auto_help+=_("higherthan")+str(_min

elif_maxisnotNone:

auto_help+=_("lowerthan")+str(_max

ifnonzero:

auto_help+=","+_("nonzero")

ifunit:

auto_help+=(",%s%s"%(_("unit:"),

returnauto_help

defformat_string(self,instance,value,fmt,func

"""OverrideDataItemmethod"""

text=fmt%(func(value),)

#Weadddirectlytheunitto'text'(insteadofaddingit

#to'fmt')toavoidstringformattingerrorif'%'isinunit

unit=self.get_prop_value("display",instance

ifunit:

text+=''+unit

returntext

defcheck_value(self,value):

Page 201: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

"""OverrideDataItemmethod"""

ifnotisinstance(value,self.type):

returnFalse

ifself.get_prop("data","nonzero")andvalue

returnFalse

_min=self.get_prop("data","min")

if_minisnotNone:

ifvalue<_min:

returnFalse

_max=self.get_prop("data","max")

if_maxisnotNone:

ifvalue>_max:

returnFalse

returnTrue

deffrom_string(self,value):

"""OverrideDataItemmethod"""

value=to_text_string(value)#necessaryifvalueisaQString

#Stringmaycontainsnumericaloperands:

ifre.match(r'^([\d\(\)\+/\-\*.]|e)+$',value

try:

returnself.type(eval(value))

except:

pass

returnNone

classFloatItem(NumericTypeItem):

"""

Constructafloatdataitem

*label[string]:name

*default[float]:defaultvalue(optional)

*min[float]:minimumvalue(optional)

*max[float]:maximumvalue(optional)

*slider[bool]:ifTrue,showsasliderwidgetrightaftertheline

editwidget(defaultisFalse)

*step[float]:stepbetweentickvalueswithasliderwidget(optional)

Page 202: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

*nonzero[bool]:ifTrue,zeroisnotavalidvalue(optional)

*unit[string]:physicalunit(optional)

*help[string]:textshownintooltip(optional)

"""

type=float

def__init__(self,label,default=None,min=None

nonzero=None,unit='',step=0.1,slider

super(FloatItem,self).__init__(label,default

max=max,nonzero=nonzero

self.set_prop("display",slider=slider)

self.set_prop("data",step=step)

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

returnreader.read_float()

classIntItem(NumericTypeItem):

"""

Constructanintegerdataitem

*label[string]:name

*default[int]:defaultvalue(optional)

*min[int]:minimumvalue(optional)

*max[int]:maximumvalue(optional)

*nonzero[bool]:ifTrue,zeroisnotavalidvalue(optional)

*unit[string]:physicalunit(optional)

*even[bool]:ifTrue,evenvaluesarevalid,ifFalse,

oddvaluesarevalidifNone(default),ignored(optional)

*slider[bool]:ifTrue,showsasliderwidgetrightaftertheline

editwidget(defaultisFalse)

*help[string]:textshownintooltip(optional)

"""

type=int

def__init__(self,label,default=None,min=None

nonzero=None,unit='',even=None,

super(IntItem,self).__init__(label,default

Page 203: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

nonzero=nonzero

self.set_prop("data",even=even)

self.set_prop("display",slider=slider)

defget_auto_help(self,instance):

"""OverrideDataItemmethod"""

auto_help=super(IntItem,self).get_auto_help

even=self.get_prop_value("data",instance

ifevenisnotNone:

ifeven:

auto_help+=","+_("even")

else:

auto_help+=","+_("odd")

returnauto_help

defcheck_value(self,value):

"""OverrideDataItemmethod"""

valid=super(IntItem,self).check_value(value

ifnotvalid:

returnFalse

even=self.get_prop("data","even")

ifevenisnotNone:

is_even=value//2==value/2.

if(evenandnotis_even)or(noteven

returnFalse

returnTrue

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

returnreader.read_int()

classStringItem(DataItem):

"""

Constructastringdataitem

Page 204: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

*label[string]:name

*default[string]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

*notempty[bool]:ifTrue,emptystringisnotavalidvalue(opt.)

*wordwrap[bool]:togglewordwrapping(optional)

"""

type=TEXT_TYPES

def__init__(self,label,default=None,notempty

wordwrap=False,help=''):

DataItem.__init__(self,label,default=default

self.set_prop("data",notempty=notempty)

self.set_prop("display",wordwrap=wordwrap)

defcheck_value(self,value):

"""OverrideDataItemmethod"""

notempty=self.get_prop("data","notempty"

ifnotemptyandnotvalue:

returnFalse

returnTrue

deffrom_string(self,value):

"""OverrideDataItemmethod"""

#QString->str

returnto_text_string(value)

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

returnreader.read_unicode()

classTextItem(StringItem):

"""

Constructatextdataitem(multilinestring)

*label[string]:name

*default[string]:defaultvalue(optional)

Page 205: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

*help[string]:textshownintooltip(optional)

*notempty[bool]:ifTrue,emptystringisnotavalidvalue(opt.)

*wordwrap[bool]:togglewordwrapping(optional)

"""

def__init__(self,label,default=None,notempty

wordwrap=True,help=''):

StringItem.__init__(self,label,default=default

wordwrap=wordwrap,help=

classBoolItem(DataItem):

"""

Constructabooleandataitem

*text[string]:form'sfieldname(optional)

*label[string]:name

*default[string]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

"""

type=bool

def__init__(self,text='',label='',default=None

DataItem.__init__(self,label,default=default

self.set_prop("display",text=text)

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

returnreader.read_bool()

classDateItem(DataItem):

"""

Constructadatedataitem.

*text[string]:form'sfieldname(optional)

*label[string]:name

*default[datetime.date]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

"""

Page 206: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

type=datetime.date

classDateTimeItem(DateItem):

pass

classColorItem(StringItem):

"""

Constructacolordataitem

*label[string]:name

*default[string]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

ColorvaluesareencodedashexadecimalstringsorQtcolornames

"""

defcheck_value(self,value):

"""OverrideDataItemmethod"""

ifnotisinstance(value,self.type):

returnFalse

fromguidata.qthelpersimporttext_to_qcolor

returntext_to_qcolor(value).isValid()

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

#Usingread_strconverts`numpy.string_`to`str`--otherwise,

#whenpassingthestringtoaQColorQtobject,anynumpy.string_will

#beinterpretedasnocolor(black)

returnreader.read_str()

classFileSaveItem(StringItem):

"""

Constructapathdataitemforafiletobesaved

*label[string]:name

*formats[string(orstringlist)]:wildcardfilter

*default[string]:defaultvalue(optional)

Page 207: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

*basedir[string]:defaultbasedirectory(optional)

*help[string]:textshownintooltip(optional)

"""

def__init__(self,label,formats='*',default=

basedir=None,all_files_first=False

DataItem.__init__(self,label,default=default

ifisinstance(formats,str):

formats=[formats]

self.set_prop("data",formats=formats)

self.set_prop("data",basedir=basedir)

self.set_prop("data",all_files_first=all_files_first

defget_auto_help(self,instance):

"""OverrideDataItemmethod"""

formats=self.get_prop("data","formats")

return_("allfiletypes")ifformats==['*'

else_("supportedfiletypes:")+"*.

defcheck_value(self,value):

"""OverrideDataItemmethod"""

ifnotisinstance(value,self.type):

returnFalse

returnlen(value)>0

deffrom_string(self,value):

"""OverrideDataItemmethod"""

returnadd_extension(self,value)

classFileOpenItem(FileSaveItem):

"""

Constructapathdataitemforafiletobeopened

*label[string]:name

*formats[string(orstringlist)]:wildcardfilter

*default[string]:defaultvalue(optional)

*basedir[string]:defaultbasedirectory(optional)

Page 208: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

*help[string]:textshownintooltip(optional)

"""

defcheck_value(self,value):

"""OverrideDataItemmethod"""

ifnotisinstance(value,self.type):

returnFalse

returnos.path.exists(value)andos.path.isfile

classFilesOpenItem(FileSaveItem):

"""

Constructapathdataitemformultiplefilestobeopened.

*label[string]:name

*formats[string(orstringlist)]:wildcardfilter

*default[string]:defaultvalue(optional)

*basedir[string]:defaultbasedirectory(optional)

*help[string]:textshownintooltip(optional)

"""

type=list

def__init__(self,label,formats='*',default=

basedir=None,all_files_first=False

ifis_text_string(default):

default=[default]

FileSaveItem.__init__(self,label,formats=

default=default,basedir

all_files_first=all_files_first

defcheck_value(self,value):

"""OverrideDataItemmethod"""

allexist=True

forpathinvalue:

allexist=allexistandos.path.exists(

andos.path.isfile(path)

returnallexist

deffrom_string(self,value):

"""OverrideDataItemmethod"""

Page 209: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

value=to_text_string(value)

ifvalue.endswith("']"):

value=eval(value)

else:

value=[value]

return[add_extension(self,path)forpath

defserialize(self,instance,writer):

"""Serializethisitem"""

value=self.get_value(instance)

writer.write_sequence([fname.encode("utf-8"

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

return[to_text_string(fname,"utf-8")

forfnameinreader.read_sequence()]

classDirectoryItem(StringItem):

"""

Constructapathdataitemforadirectory.

*label[string]:name

*default[string]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

"""

defcheck_value(self,value):

"""OverrideDataItemmethod"""

ifnotisinstance(value,self.type):

returnFalse

returnos.path.exists(value)andos.path.isdir

classFirstChoice(object):

pass

classChoiceItem(DataItem):

Page 210: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

"""

Constructadataitemforalistofchoices.

*label[string]:name

*choices[list,tupleorfunction]:stringlistor(key,label)list

functionoftwoarguments(item,value)returningalistoftuples

(key,label,image)whereimageisaniconpath,aQIconinstance

orafunctionofoneargument(key)returningaQIconinstance

*default[-]:defaultlabelordefaultkey(optional)

*help[string]:textshownintooltip(optional)

"""

def__init__(self,label,choices,default=FirstChoice

ifisinstance(choices,collections.Callable

_choices_data=ItemProperty(choices)

else:

_choices_data=[]

foridx,choiceinenumerate(choices):

_choices_data.append(self._normalize_choice

ifdefaultisFirstChoiceand\

notisinstance(choices,collections.Callable

default=_choices_data[0][0]

elifdefaultisFirstChoice:

default=None

DataItem.__init__(self,label,default=default

self.set_prop("data",choices=_choices_data

def_normalize_choice(self,idx,choice_tuple):

ifisinstance(choice_tuple,tuple):

key,value=choice_tuple

else:

key=idx

value=choice_tuple

ifisinstance(value,str):

value=utf8_to_unicode(value)

return(key,value,None)

#def_choices(self,item):

Page 211: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

#_choices_data=self.get_prop("data","choices")

#ifcallable(_choices_data):

#return_choices_data(self,item)

#return_choices_data

defget_string_value(self,instance):

"""OverrideDataItemmethod"""

value=self.get_value(instance)

choices=self.get_prop_value("data",instance

#print"ShowChoiceWidget:",choices,value

forchoiceinchoices:

ifchoice[0]==value:

returnto_text_string(choice[1])

else:

returnDataItem.get_string_value(self,

classMultipleChoiceItem(ChoiceItem):

"""

Constructadataitemforalistofchoices--multiplechoicescanbeselected

*label[string]:name

*choices[listortuple]:stringlistor(key,label)list

*default[-]:defaultlabelordefaultkey(optional)

*help[string]:textshownintooltip(optional)

"""

def__init__(self,label,choices,default=(),

ChoiceItem.__init__(self,label,choices,default

self.set_prop("display",shape=(1,-1))

defhorizontal(self,row_nb=1):

"""

Methodtoarangechoicelisthorizontallyon`n`rows

Example:

nb=MultipleChoiceItem("Number",['1','2','3']).horizontal(2)

"""

Page 212: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

self.set_prop("display",shape=(row_nb,-

returnself

defvertical(self,col_nb=1):

"""

Methodtoarangechoicelistverticallyon`n`columns

Example:

nb=MultipleChoiceItem("Number",['1','2','3']).vertical(2)

"""

self.set_prop("display",shape=(-1,col_nb

returnself

defserialize(self,instance,writer):

"""Serializethisitem"""

value=self.get_value(instance)

seq=[]

_choices=self.get_prop_value("data",instance

forkey,_label,_imgin_choices:

seq.append(keyinvalue)

writer.write_sequence(seq)

defdeserialize(self,instance,reader):

"""Deserializethisitem"""

flags=reader.read_sequence()

#Wecouldhavetroublewithobjectsprovidingtheirownchoice

#functionwhichdependonnotyetdeserializedvalues

_choices=self.get_prop_value("data",instance

value=[]

foridx,flaginenumerate(flags):

ifflag:

value.append(_choices[idx][0])

self.__set__(instance,value)

classImageChoiceItem(ChoiceItem):

Page 213: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

"""

Constructadataitemforalistofchoiceswithimages

*label[string]:name

*choices[list,tupleorfunction]:(label,image)listor

(key,label,image)listfunctionoftwoarguments(item,value)

returningalistoftuples(key,label,image)whereimageisan

iconpath,aQIconinstanceorafunctionofoneargument(key)

returningaQIconinstance

*default[-]:defaultlabelordefaultkey(optional)

*help[string]:textshownintooltip(optional)

"""

def_normalize_choice(self,idx,choice_tuple):

assertisinstance(choice_tuple,tuple)

iflen(choice_tuple)==3:

key,value,img=choice_tuple

else:

key=idx

value,img=choice_tuple

ifisinstance(value,str):

value=utf8_to_unicode(value)

return(key,value,img)

classFloatArrayItem(DataItem):

"""

Constructafloatarraydataitem

*label[string]:name

*default[numpy.ndarray]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

*format[string]:formattingstring(example:'%.3f')(optional)

*transpose[bool]:transposematrix(displayonly)

*large[bool]:viewallfloatofthearray

*minmax[string]:"all"(default),"columns","rows"

"""

def__init__(self,label,default=None,help=''

transpose=False,minmax="all"):

Page 214: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

DataItem.__init__(self,label,default=default

self.set_prop("display",format=format,transpose

minmax=minmax)

defformat_string(self,instance,value,fmt,func

"""OverrideDataItemmethod"""

larg=self.get_prop_value("display",instance

fmt=self.get_prop_value("display",instance

unit=self.get_prop_value("display",instance

v=func(value)

iflarg:

text="=["

forfltinv[:-1]:

text+=fmt%flt+";"

text+=fmt%v[-1]+"]"

else:

text="~="+fmt%v.mean()

text+="["+fmt%v.min()

text+=".."+fmt%v.max()

text+="]"

text+="%s"%unit

returnto_text_string(text)

defserialize(self,instance,writer):

"""Serializethisitem"""

value=self.get_value(instance)

writer.write_array(value)

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method"""

returnreader.read_array()

classButtonItem(DataItem):

"""

Constructasimplebuttonthatcallsamethodwhenhit

Page 215: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

*label[string]:textshownonthebutton

*callback[function]:functionwithfourparameters(dataset,item,value,parent)

-dataset[DataSet]:instanceoftheparentdataset

-item[DataItem]:instanceofButtonItem(i.e.self)

-value[unspecified]:valueofButtonItem(defaultButtonItem

valueorlastvaluereturnedbythecallback)

-parent[QObject]:button'sparentwidget

*icon[QIconorstring]:iconshowonthebutton(optional)

(string:iconfilenameasinguidata/guiqwtimagesearchpaths)

*default[unspecified]:defaultvaluepassedtothecallback(optional)

*help[string]:textshowninbutton'stooltip(optional)

Thevalueofthisitemisunspecifiedbutispassedtothecallbackalong

withthewholedataset.Thevalueisassignedthecallback`sreturnvalue.

"""

def__init__(self,label,callback,icon=None,

DataItem.__init__(self,label,default=default

self.set_prop("display",callback=callback)

self.set_prop("display",icon=icon)

defserialize(self,instance,writer):

pass

defdeserialize(self,instance,reader):

pass

classDictItem(ButtonItem):

"""

Constructadictionarydataitem

*label[string]:name

*default[dict]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

"""

def__init__(self,label,default=None,help=''

defdictedit(instance,item,value,parent):

Page 216: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

indexmodules |guidata1.6.1documentation » Modulecode »

fromspyderlib.widgets.dicteditorimport

editor=DictEditor(parent)

value_was_none=valueisNone

ifvalue_was_none:

value={}

editor.setup(value)

ifeditor.exec_():

returneditor.get_value()

else:

ifvalue_was_none:

return

returnvalue

ButtonItem.__init__(self,label,dictedit,

icon='dictedit.png',default

classFontFamilyItem(StringItem):

"""

Constructafontfamilynameitem

*label[string]:name

*default[string]:defaultvalue(optional)

*help[string]:textshownintooltip(optional)

"""

pass

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 217: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 218: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Sourcecodeforguidata.dataset.datatypes

#-*-coding:utf-8-*-

#

#Copyright©2009-2010CEA

#PierreRaybaut

#LicensedunderthetermsoftheCECILLLicense

#(seeguidata/__init__.pyfordetails)

"""

dataset.datatypes

=================

The``guidata.dataset.datatypes``modulecontainsimplementationfor

DataSets(DataSet,DataSetGroup,...)andrelatedobjects(ItemProperty,

ValueProp,...).

"""

#pylint:disable-msg=W0622

#pylint:disable-msg=W0212

from__future__importprint_function,unicode_literals

importsys

importre

importcollections

fromguidata.utilsimportutf8_to_unicode,update_dataset

fromguidata.py3compatimportto_text_string,is_text_string

DEBUG_DESERIALIZE=False

classNoDefault:

Page 219: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

pass

classItemProperty(object):

def__init__(self,callable=None):

self.callable=callable

def__call__(self,instance,item,value):

"""Evaluatethevalueofthepropertygiven,theinstance,

theitemandthevaluemaintainedintheinstancebytheitem"""

returnself.callable(instance,item,value)

defset(self,instance,item,value):

"""Setsthevalueofthepropertygivenaninstance,itemandvalue

Dependingonimplementationthevaluewillbestoredeitheronthe

instance,itemorself

"""

raiseNotImplementedError

FMT_GROUPS=re.compile(r"(?<!%)%\((\w+)\)")

classFormatProp(ItemProperty):

"""APropertythatreturnsastringtohelp

customread-onlyrepresentationofitems"""

def__init__(self,fmt,ignore_error=True):

"""fmtisaformatstring

itcancontainasingleanonymoussubstitionor

severalnamedsubstitions.

"""

self.fmt=fmt

self.ignore_error=ignore_error

self.attrs=FMT_GROUPS.findall(fmt)

def__call__(self,instance,item,value):

ifnotself.attrs:

returnself.fmt%value

Page 220: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

dic={}

forattrinself.attrs:

dic[attr]=getattr(instance,attr)

try:

returnself.fmt%dic

exceptTypeError:

ifnotself.ignore_error:

print("WrongFormatfor%s:%r%%

%(item._name,self.fmt,dic))

raise

classGetAttrProp(ItemProperty):

"""Apropertythatmatchesthevalueof

aninstance'sattribute"""

def__init__(self,attr):

self.attr=attr

def__call__(self,instance,item,value):

val=getattr(instance,self.attr)

returnval

defset(self,instance,item,value):

setattr(instance,self.attr,value)

classValueProp(ItemProperty):

"""Apropertythatretrievesavaluestoredelsewhere

"""

def__init__(self,value):

self.value=value

def__call__(self,instance,item,value):

returnself.value

defset(self,instance,item,value):

self.value=value

classNotProp(ItemProperty):

Page 221: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

"""Notproperty"""

def__init__(self,prop):

self.property=prop

def__call__(self,instance,item,value):

returnnotself.property(instance,item,value

defset(self,instance,item,value):

self.property.set(instance,item,notvalue

classFuncProp(ItemProperty):

"""An'operatorproperty'

prop:ItemPropertyinstance

func:function

invfunc:inversefunction(optional)

"""

def__init__(self,prop,func,invfunc=None):

self.property=prop

self.function=func

ifinvfuncisNone:

invfunc=func

self.inverse_function=invfunc

def__call__(self,instance,item,value):

returnself.function(self.property(instance

defset(self,instance,item,value):

self.property.set(instance,item,self.inverse_function

classDataItem(object):

"""

DataSetdataitem

`label`:string

`default`:anytype,optional

`help`:stringTextdisplayedondataitem'stooltip

Page 222: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

"""

count=0

def__init__(self,label,default=None,help=''

self._order=DataItem.count

DataItem.count+=1

self._name=None

self._default=default

self._help=utf8_to_unicode(help)

self._props={}#adictrealm->dictcontainingrealm-specificproperties

self.set_prop("display",col=0,colspan=None

label=utf8_to_unicode(label))

defget_prop(self,realm,name,default=NoDefault

"""Getonepropertyofthisitem"""

prop=self._props.get(realm)

ifnotprop:

prop={}

ifdefaultisNoDefault:

returnprop[name]

returnprop.get(name,default)

defget_prop_value(self,realm,instance,name,

value=self.get_prop(realm,name,default)

ifisinstance(value,ItemProperty):

returnvalue(instance,self,self.get_value

else:

returnvalue

defset_prop(self,realm,**kwargs):

"""Setoneorseveralpropertiesusing

thesyntaxset_prop(name1=value1,...,nameX=valueX)

itreturnsselfsothatwecanassigntotheresultlikethis:

item=Item().set_prop(x=y)

"""

Page 223: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

prop=self._props.get(realm)

ifnotprop:

prop={}

self._props[realm]=prop

prop.update(kwargs)

returnself

defset_pos(self,col=0,colspan=None):

"""

Setdataitem'spositiononaGUIlayout

"""

self.set_prop("display",col=col,colspan=colspan

returnself

def__str__(self):

returnself._name+":"+self.__class__.__name__

defget_help(self,instance):

"""

Returndataitem'stooltip

"""

auto_help=utf8_to_unicode(self.get_auto_help

help=self._help

ifauto_help:

ifhelp:

help=help+"\n("+auto_help+")"

else:

help=auto_help.capitalize()

returnhelp

defget_auto_help(self,instance):

"""

Returntheautomaticallygeneratedpartofdataitem'stooltip

"""

return""

Page 224: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

defformat_string(self,instance,value,fmt,func

"""Applyformattostringrepresentationoftheitem'svalue"""

returnfmt%(func(value),)

defget_string_value(self,instance):

"""

Returnaformattedunicoderepresentationoftheitem'svalue

obeying'display'or'repr'properties

"""

value=self.get_value(instance)

repval=self.get_prop_value("display",instance

ifrepvalisnotNone:

returnrepval

else:

fmt=self.get_prop_value("display",instance

func=self.get_prop_value("display",instance

ifisinstance(fmt,collections.Callable

returnfmt(func(value))

elifis_text_string(fmt):

#ThisisonlynecessarywithPython2:convertingtounicode

fmt=to_text_string(fmt)

ifvalueisnotNone:

text=self.format_string(instance,

else:

text=""

returntext

defset_name(self,new_name):

"""

Setdataitem'sname

"""

self._name=new_name

defset_from_string(self,instance,string_value

Page 225: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

"""

Setdataitem'svaluefromspecifiedstring

"""

value=self.from_string(string_value)

self.__set__(instance,value)

defset_default(self,instance):

"""

Setdataitem'svaluetodefault

"""

self.__set__(instance,self._default)

defaccept(self,visitor):

"""

Thisisthevisitorpattern'sacceptfunction.

Itcallsthecorrespondingvisit_MYCLASSmethod

ofthevisitorobject.

Python'sallowagenericbaseclassimplementationof

thismethodsothere'snoneedtowriteanacceptfunction

foreachderivedclassunlessyouneedtooverridethe

defaultbehavior

"""

funcname="visit_"+self.__class__.__name__

func=getattr(visitor,funcname)

func(self)

def__set__(self,instance,value):

setattr(instance,"_"+self._name,value)

def__get__(self,instance,klass):

ifinstanceisnotNone:

returngetattr(instance,"_"+self._name

else:

returnself

Page 226: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

defget_value(self,instance):

"""

Returndataitem'svalue

"""

returnself.__get__(instance,instance.__class__

defcheck_item(self,instance):

"""

Checkdataitem'scurrentvalue(callingmethodcheck_value)

"""

value=getattr(instance,"_"+self._name)

returnself.check_value(value)

defcheck_value(self,instance,value):

"""

Checkif`value`isvalidforthisdataitem

"""

raiseNotImplementedError()

deffrom_string(self,instance,string_value):

"""

Transformstringintovaliddataitem'svalue

"""

raiseNotImplementedError()

defbind(self,instance):

"""

ReturnaDataItemVariableinstanceboundtothedataitem

"""

returnDataItemVariable(self,instance)

defserialize(self,instance,writer):

"""Serializethisitemusingthewriterobject

Page 227: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

thisisadefaultimplementationthatshouldworkfor

everythingbutnewdatatypes

"""

value=self.get_value(instance)

writer.write(value)

defget_value_from_reader(self,reader):

"""Readsvaluefromthereaderobject,insidethetry...except

statementdefinedinthebaseitem`deserialize`method

Thismethodisreimplementedinsomechildclasses"""

returnreader.read_any()

defdeserialize(self,instance,reader):

"""Deserializethisitemusingthereaderobject

Defaultbaseimplementationsupposesthereadercan

detectexpecteddatatypefromthestream

"""

try:

value=self.get_value_from_reader(reader

exceptRuntimeErrorase:

ifDEBUG_DESERIALIZE:

importtraceback

print("DEBUG_DESERIALIZEenabledindatatypes.py"

file=sys.stderr)

traceback.print_stack()

print(e,file=sys.stderr)

self.set_default(instance)

return

self.__set__(instance,value)

classObj(object):

"""Anobjectthathelpsbuilddefaultinstancesfor

ObjectItems"""

def__init__(self,**kwargs):

Page 228: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

self.__dict__.update(kwargs)

classObjectItem(DataItem):

"""Simplehelperclassimplementingdefault

forcompositeobjects"""

klass=None

defset_default(self,instance):

"""Makeacopyofthedefaultvalue

"""

value=self.klass()

ifself._defaultisnotNone:

update_dataset(value,self._default)

self.__set__(instance,value)

defdeserialize(self,instance,reader):

"""Deserializethisitemusingthereaderobject

Webuildanewdefaultobjectanddeserializeit

"""

value=self.klass()

value.deserialize(reader)

self.__set__(instance,value)

classDataItemProxy(object):

"""

ProxyforDataItemobjects

ThisclassisneededtoconstructGroupItemclass

(seemoduleguidata.qtwidgets)

"""

def__init__(self,item):

self.item=item

def__str__(self):

Page 229: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

returnself.item._name+"_proxy:"+self.

defget_help(self,instance):

"""DataItemmethodproxy"""

returnself.item.get_help(instance)

defget_auto_help(self,instance):

"""DataItemmethodproxy"""

returnself.item.get_auto_help(instance)

defget_string_value(self,instance):

"""DataItemmethodproxy"""

returnself.item.get_string_value(instance)

defset_from_string(self,instance,string_value

"""DataItemmethodproxy"""

returnself.item.set_from_string(instance,

defset_default(self,instance):

"""DataItemmethodproxy"""

returnself.item.set_default(instance)

defaccept(self,visitor):

"""DataItemmethodproxy"""

returnself.item.accept(visitor)

defget_value(self,instance):

"""DataItemmethodproxy"""

returnself.item.get_value(instance)

defcheck_item(self,instance):

"""DataItemmethodproxy"""

returnself.item.check_item(instance)

Page 230: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

defcheck_value(self,instance,value):

"""DataItemmethodproxy"""

returnself.item.check_value(instance,value

deffrom_string(self,instance,string_value):

"""DataItemmethodproxy"""

returnself.item.from_string(instance,string_value

defget_prop(self,realm,name,default=NoDefault

"""DataItemmethodproxy"""

returnself.item.get_prop(realm,name,default

defget_prop_value(self,realm,instance,name,

"""DataItemmethodproxy"""

returnself.item.get_prop_value(realm,instance

defset_prop(self,realm,**kwargs):

"""DataItemmethodproxy"""

returnself.item.set_prop(realm,**kwargs)

defbind(self,instance):

"""DataItemmethodproxy"""

returnDataItemVariable(self,instance)

#def__getattr__(self,name):

#assertnamein["min_equals_max","get_min","get_max",

#"_formats","_text","_choices","_shape",

#"_format","_label","_xy"]

#val=getattr(self.item,name)

#ifcallable(val):

#returnbind(val,self.instance)

#else:

#returnval

classDataItemVariable(object):

Page 231: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

"""AninstanceofaDataItemVariablerepresentabindingbetween

anitemandadataset.

couldbecalledaboundproperty.

sinceDataIteminstancesareclassattributestheyneedtohavea

DataSetinstancetostoretheirvalue.Thisclassbindsthetwo

together.

"""

def__init__(self,item,instance):

self.item=item

self.instance=instance

defget_prop_value(self,realm,name,default=NoDefault

"""DataItemmethodproxy"""

returnself.item.get_prop_value(realm,self

defget_prop(self,realm,name,default=NoDefault

"""DataItemmethodproxy"""

returnself.item.get_prop(realm,name,default

#defset_prop(self,realm,**kwargs):

#"""DataItemmethodproxy"""

#self.item.set_prop(realm,**kwargs)

#

#def__getattr__(self,name):

#assertnamein["min_equals_max","get_min","get_max",

#"_formats","_text","_choices","_shape",

#"_format","_label","_xy"]

#val=getattr(self.item,name)

#ifcallable(val):

#returnbind(val,self.instance)

#else:

#returnval

defget_help(self):

"""Re-implementDataItemmethod"""

Page 232: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

[docs]

returnself.item.get_help(self.instance)

defget_auto_help(self):

"""Re-implementDataItemmethod"""

#XXXincohérent?

returnself.item.get_auto_help(self.instance

defget_string_value(self):

"""

Returnaunicoderepresentationoftheitem'svalue

obeying'display'or'repr'properties

"""

returnself.item.get_string_value(self.instance

defset_default(self):

"""Re-implementDataItemmethod"""

returnself.item.set_default(self.instance)

defget(self):

"""Re-implementDataItemmethod"""

returnself.item.get_value(self.instance)

defset(self,value):

"""Re-implementDataItemmethod"""

returnself.item.__set__(self.instance,value

defset_from_string(self,string_value):

"""Re-implementDataItemmethod"""

returnself.item.set_from_string(self.instance

defcheck_item(self):

"""Re-implementDataItemmethod"""

returnself.item.check_item(self.instance)

Page 233: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

defcheck_value(self,value):

"""Re-implementDataItemmethod"""

returnself.item.check_value(value)

deffrom_string(self,string_value):

"""Re-implementDataItemmethod"""

returnself.item.from_string(string_value)

deflabel(self):

"""Re-implementDataItemmethod"""

returnself.item.get_prop("display","label"

classDataSetMeta(type):

"""

DataSetmetaclass

Createclassattribute`_items`:listoftheDataSetclassattributes,

createdinthesameorderastheseattributeswerewritten

"""

def__new__(cls,name,bases,dct):

items={}

forbaseinbases:

ifgetattr(base,"__metaclass__",None)

foriteminbase._items:

items[item._name]=item

forattrname,valueinlist(dct.items()):

ifisinstance(value,DataItem):

value.set_name(attrname)

ifattrnameinitems:

value._order=items[attrname].

items[attrname]=value

items_list=list(items.values())

items_list.sort(key=lambdax:x._order)

Page 234: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

dct["_items"]=items_list

returntype.__new__(cls,name,bases,dct)

ifPY2:

Meta_Py3Compat=DataSetMeta(b'Meta_Py3Compat',

else:

Meta_Py3Compat=DataSetMeta('Meta_Py3Compat',

classDataSet(Meta_Py3Compat):

"""

ConstructaDataSetobjectisasetofDataItemobjects

*title[string]

*comment[string]:textshownonthetopofthefirstdataitem

*icon[QIconorstring]:iconshowonthebutton(optional)

(string:iconfilenameasinguidata/guiqwtimagesearchpaths)

"""

__metaclass__=DataSetMeta#keepitevenwithPython3(seeDataSetMeta)

def__init__(self,title=None,comment=None,icon

self.__title=title

self.__comment=comment

self.__icon=icon

comp_title,comp_comment=self._compute_title_and_comment

iftitleisNone:

self.__title=comp_title

ifcommentisNone:

self.__comment=comp_comment

self.__changed=False

#Setdefaultvalues

self.set_defaults()

def_get_translation(self):

"""Wetrytofindthetranslationfunction(_)fromthemodule

thisclasswascreatedin

Thisfunctionisunusedbutcouldbeusefultotranslatestringsthat

cannotbetranslatedatthetimetheyarecreated.

Page 235: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

"""

module=sys.modules[self.__class__.__module__

ifhasattr(module,"_"):

returnmodule._

else:

returnlambdax:x

def_compute_title_and_comment(self):

"""

Privatemethodtocomputetitleandcommentofthedataset

"""

comp_title=self.__class__.__name__

comp_comment=None

ifself.__doc__:

doc_lines=utf8_to_unicode(self.__doc__

#Removeemptylinesatthebeginingofcomment

whiledoc_linesandnotdoc_lines[0].strip

deldoc_lines[0]

ifdoc_lines:

comp_title=doc_lines.pop(0).strip

ifdoc_lines:

comp_comment="\n".join([x.strip()

returncomp_title,comp_comment

defget_title(self):

"""

Returndatasettitle

"""

returnself.__title

defget_comment(self):

"""

Returndatasetcomment

"""

returnself.__comment

Page 236: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

defget_icon(self):

"""

Returndataseticon

"""

returnself.__icon

defset_defaults(self):

"""Setdefaultvalues"""

foriteminself._items:

item.set_default(self)

def__str__(self):

returnself.to_string(debug=False)

defcheck(self):

"""

Checkthedatasetitemvalues

"""

errors=[]

foriteminself._items:

ifnotitem.check_item(self):

errors.append(item._name)

returnerrors

deftext_edit(self):

"""

Editdatasetwithtextinputonly

"""

fromguidata.datasetimporttextedit

self.accept(textedit.TextEditVisitor(self))

defedit(self,parent=None,apply=None,size=None

"""

Openadialogboxtoeditdataset

Page 237: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

*parent:parentwidget(defaultisNone,meaningnoparent)

*apply:applycallback(defaultisNone)

*size:dialogsize(QSizeobjectorintegertuple(width,height))

"""

fromguidata.dataset.qtwidgetsimportDataSetEditDialog

win=DataSetEditDialog(self,icon=self.__icon

apply=apply,size=size

returnwin.exec_()

defview(self,parent=None,size=None):

"""

Openadialogboxtoviewdataset

*parent:parentwidget(defaultisNone,meaningnoparent)

*size:dialogsize(QSizeobjectorintegertuple(width,height))

"""

fromguidata.dataset.qtwidgetsimportDataSetShowDialog

win=DataSetShowDialog(self,icon=self.__icon

size=size)

returnwin.exec_()

defto_string(self,debug=False,indent=None,align

"""

Returnreadablestringrepresentationofthedataset

IfdebugisTrue,addmoredetailsondataitems

"""

ifindentisNone:

indent="\n"

txt=self.__title+":"

def_get_label(item):

ifdebug:

returnitem._name

else:

returnitem.get_prop_value("display"

length=0

ifalign:

Page 238: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

foriteminself._items:

item_length=len(_get_label(item))

ifitem_length>length:

length=item_length

foriteminself._items:

ifisinstance(item,ObjectItem):

composite_dataset=item.get_value(

txt+=indent+composite_dataset.to_string

continue

elifisinstance(item,BeginGroup):

txt+=indent+item._name+":"

indent+=""

continue

elifisinstance(item,EndGroup):

indent=indent[:-2]

continue

value=getattr(self,"_"+item._name)

ifvalueisNone:

value_str="-"

else:

value_str=item.get_string_value(self

ifdebug:

label=item._name

else:

label=item.get_prop_value("display"

iflength:

label=label.ljust(length)

txt+=indent+label+":"+value_str

ifdebug:

txt+="("+item.__class__.__name__

returntxt

defaccept(self,vis):

"""

helperfunctionthatpassesthevisitortotheacceptmethodsofall

Page 239: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

theitemsinthisdataset

"""

foriteminself._items:

item.accept(vis)

defserialize(self,writer):

foriteminself._items:

withwriter.group(item._name):

item.serialize(self,writer)

defdeserialize(self,reader):

foriteminself._items:

withreader.group(item._name):

try:

item.deserialize(self,reader)

exceptRuntimeErroraserror:

ifDEBUG_DESERIALIZE:

importtraceback

print("DEBUG_DESERIALIZEenabledindatatypes.py"

traceback.print_stack()

print(error,file=sys.stderr

item.set_default(self)

defread_config(self,conf,section,option):

fromguidata.userconfigioimportUserConfigReader

reader=UserConfigReader(conf,section,option

self.deserialize(reader)

defwrite_config(self,conf,section,option):

fromguidata.userconfigioimportUserConfigWriter

writer=UserConfigWriter(conf,section,option

self.serialize(writer)

@classmethod

defset_global_prop(klass,realm,**kwargs):

foriteminklass._items:

item.set_prop(realm,**kwargs)

Page 240: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

classActivableDataSet(DataSet):

"""

AnActivableDataSetinstancemusthavean"enable"classattributewhich

willsettheactivestateofthedatasetinstance

(seeexamplein:tests/activable_dataset.py)

"""

_ro=True#default*instance*attributevalue

_active=True

_ro_prop=GetAttrProp("_ro")

_active_prop=GetAttrProp("_active")

def__init__(self,title=None,comment=None,icon

DataSet.__init__(self,title,comment,icon

#self.set_readonly()

@classmethod

defactive_setup(klass):

"""

Thisclassmethodmustbecalledafterthechildclassdefinition

inordertosetupthedatasetactivestate

"""

klass.set_global_prop("display",active=klass

klass.enable.set_prop("display",active=True

hide=klass._ro_prop,

store=klass._active_prop

defset_readonly(self):

"""

Thedatasetisnowinread-onlymode,i.e.alldataitemsaredisabled

"""

self._ro=True

self._active=self.enable

defset_writeable(self):

Page 241: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

"""

Thedatasetisnowinread/writemode,i.e.alldataitemsareenabled

"""

self._ro=False

self._active=self.enable

classDataSetGroup(object):

"""

ConstructaDataSetGroupobject,usedtogroupseveraldatasetstogether

*datasets[listofDataSetobjects]

*title[string]

*icon[QIconorstring]:iconshowonthebutton(optional)

(string:iconfilenameasinguidata/guiqwtimagesearchpaths)

ThisclasstriestomimicstheDataSetinterface.

TheGUIshouldrepresentitasanotebookwithonepageforeach

containeddataset.

"""

def__init__(self,datasets,title=None,icon=''

self.__icon=icon

self.datasets=datasets

iftitle:

self.__title=title

else:

self.__title=self.__class__.__name__

def__str__(self):

return"\n".join([dataset.__str__()fordataset

defget_title(self):

"""

Returndatasetgrouptitle

"""

returnself.__title

Page 242: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

[docs]

defget_comment(self):

"""

Returndatasetgroupcomment-->notimplemented(willreturnNone)

"""

returnNone

defcheck(self):

"""

Checkdatasetgroupitems

"""

return[dataset.check()fordatasetinself

deftext_edit(self):

"""

Editdatasetwithtextinputonly

"""

raiseNotImplementedError()

defedit(self,parent=None,apply=None):

"""

Openadialogboxtoeditdataset

"""

fromguidata.dataset.qtwidgetsimportDataSetGroupEditDialog

win=DataSetGroupEditDialog(self,icon=self

apply=apply)

returnwin.exec_()

defaccept(self,vis):

"""

helperfunctionthatpassesthevisitortotheacceptmethodsofall

theitemsinthisdataset

"""

Page 243: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

fordatasetinself.datasets:

dataset.accept(vis)

classGroupItem(DataItemProxy):

"""GroupItemproxy"""

def__init__(self,item):

DataItemProxy.__init__(self,item)

self.group=[]

classBeginGroup(DataItem):

"""

Dataitemwhichdoesnotrepresentanything

butabeginflagtodefineadatasetgroup

"""

defserialize(self,instance,writer):

pass

defdeserialize(self,instance,reader):

pass

defget_group(self):

returnGroupItem(self)

classEndGroup(DataItem):

"""

Dataitemwhichdoesnotrepresentanything

butanendflagtodefineadatasetgroup

"""

defserialize(self,instance,writer):

pass

defdeserialize(self,instance,reader):

pass

classTabGroupItem(GroupItem):

pass

Page 244: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

classBeginTabGroup(BeginGroup):

defget_group(self):

returnTabGroupItem(self)

classEndTabGroup(EndGroup):

pass

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 245: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 246: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

Sourcecodeforguidata.qthelpers

#-*-coding:utf-8-*-

#

#Copyright©2009-2010CEA

#PierreRaybaut

#LicensedunderthetermsoftheCECILLLicense

#(seeguidata/__init__.pyfordetails)

"""

qthelpers

---------

The``guidata.qthelpers``moduleprovideshelperfunctionsfordeveloping

easilyQt-basedgraphicaluserinterfaces.

"""

from__future__importprint_function

importsys

fromguidata.qt.QtGuiimport(QAction,QApplication

QKeySequence,QLabel,

QPushButton,QStyle,QToolButton

QWidget,QGroupBox)

fromguidata.qt.QtCoreimportSIGNAL,Qt

#Localimports:

fromguidata.configtoolsimportget_icon

fromguidata.py3compatimportis_text_string

deftext_to_qcolor(text):

"""CreateaQColorfromspecifiedstring"""

color=QColor()

ifnotis_text_string(text):#testingforQString(PyQtAPI#1)

Page 247: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

text=str(text)

iftext.startswith('#')andlen(text)==7:

correct='#0123456789abcdef'

forcharintext:

ifchar.lower()notincorrect:

returncolor

eliftextnotinlist(QColor.colorNames()):

returncolor

color.setNamedColor(text)

returncolor

defcreate_action(parent,title,triggered=None,toggled

shortcut=None,icon=None,tip=None

context=Qt.WindowShortcut,enabled

"""

CreateanewQAction

"""

action=QAction(title,parent)

iftriggered:

parent.connect(action,SIGNAL("triggered(bool)"

ifcheckableisnotNone:

#Actionmaybecheckableevenifthetoggledsignalisnotconnected

action.setCheckable(checkable)

iftoggled:

parent.connect(action,SIGNAL("toggled(bool)"

action.setCheckable(True)

ificonisnotNone:

assertisinstance(icon,QIcon)

action.setIcon(icon)

ifshortcutisnotNone:

action.setShortcut(shortcut)

iftipisnotNone:

action.setToolTip(tip)

action.setStatusTip(tip)

ifenabledisnotNone:

action.setEnabled(enabled)

action.setShortcutContext(context)

Page 248: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

returnaction

defcreate_toolbutton(parent,icon=None,text=None,

toggled=None,shortcut=None,

enabled=None):

"""CreateaQToolButton"""

ifautoraise:

button=QToolButton(parent)

else:

button=QPushButton(parent)

iftextisnotNone:

button.setText(text)

ificonisnotNone:

ifis_text_string(icon):

icon=get_icon(icon)

button.setIcon(icon)

iftextisnotNoneortipisnotNone:

button.setToolTip(textiftipisNoneelse

ifautoraise:

button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon

button.setAutoRaise(True)

iftriggeredisnotNone:

parent.connect(button,SIGNAL('clicked()'),

iftoggledisnotNone:

parent.connect(button,SIGNAL("toggled(bool)"

button.setCheckable(True)

ifshortcutisnotNone:

button.setShortcut(shortcut)

ifenabledisnotNone:

button.setEnabled(enabled)

returnbutton

defcreate_groupbox(parent,title=None,toggled=None

flat=False,layout=None):

"""CreateaQGroupBox"""

iftitleisNone:

Page 249: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

group=QGroupBox(parent)

else:

group=QGroupBox(title,parent)

group.setFlat(flat)

iftoggledisnotNone:

group.setCheckable(True)

ifcheckedisnotNone:

group.setChecked(checked)

parent.connect(group,SIGNAL("toggled(bool)"

iflayoutisnotNone:

group.setLayout(layout)

returngroup

defkeybinding(attr):

"""Returnkeybinding"""

ks=getattr(QKeySequence,attr)

returnQKeySequence.keyBindings(ks)[0].toString

defadd_separator(target):

"""Addseparatortotargetonlyiflastactionisnotaseparator"""

target_actions=list(target.actions())

iftarget_actions:

ifnottarget_actions[-1].isSeparator():

target.addSeparator()

defadd_actions(target,actions):

"""

Addactions(listofQActioninstances)totarget(menu,toolbar)

"""

foractioninactions:

ifisinstance(action,QAction):

target.addAction(action)

elifisinstance(action,QMenu):

target.addMenu(action)

elifactionisNone:

add_separator(target)

Page 250: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

defget_std_icon(name,size=None):

"""

Getstandardplatformicon

Call'show_std_icons()'fordetails

"""

ifnotname.startswith('SP_'):

name='SP_'+name

icon=QWidget().style().standardIcon(getattr(

ifsizeisNone:

returnicon

else:

returnQIcon(icon.pixmap(size,size))

classShowStdIcons(QWidget):

"""

Dialogshowingstandardicons

"""

def__init__(self,parent):

QWidget.__init__(self,parent)

layout=QHBoxLayout()

row_nb=14

cindex=0

forchildindir(QStyle):

ifchild.startswith('SP_'):

ifcindex==0:

col_layout=QVBoxLayout()

icon_layout=QHBoxLayout()

icon=get_std_icon(child)

label=QLabel()

label.setPixmap(icon.pixmap(32,32))

icon_layout.addWidget(label)

icon_layout.addWidget(QLineEdit(child

col_layout.addLayout(icon_layout)

cindex=(cindex+1)%row_nb

ifcindex==0:

layout.addLayout(col_layout)

self.setLayout(layout)

Page 251: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

indexmodules |guidata1.6.1documentation » Modulecode »

self.setWindowTitle('StandardPlatformIcons'

self.setWindowIcon(get_std_icon('TitleBarMenuButton'

defshow_std_icons():

"""

ShowallstandardIcons

"""

app=QApplication(sys.argv)

dialog=ShowStdIcons(None)

dialog.show()

sys.exit(app.exec_())

if__name__=="__main__":

fromguidata.utilsimportpairs

print(list(pairs(list(range(5)))))

show_std_icons()

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 252: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 253: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Sourcecodeforguidata.disthelpers

#-*-coding:utf-8-*-

#

#Copyright©2009-2011CEA

#PierreRaybaut

#LicensedunderthetermsoftheCECILLLicense

#(seeguidata/__init__.pyfordetails)

#pylint:disable=W0613

"""

disthelpers

-----------

The``guidata.disthelpers``moduleprovideshelperfunctionsforPython

packagedistributiononMicrosoftWindowsplatformswith``py2exe``oron

allplatformsthanksto``cx_Freeze``.

"""

from__future__importprint_function

importsys

importos

importos.pathasosp

importshutil

importtraceback

importatexit

importimp

fromsubprocessimportPopen,PIPE

importwarnings

#Localimports

fromguidata.configtoolsimportget_module_path

Page 254: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

#==============================================================================

#Dependencymanagement

#==============================================================================

defget_changeset(path,rev=None):

"""ReturnMercurialrepository*path*revisionnumber"""

args=['hg','parent']

ifrevisnotNone:

args+=['--rev',str(rev)]

process=Popen(args,stdout=PIPE,stderr=PIPE,

try:

returnprocess.stdout.read().splitlines()[0

exceptIndexError:

raiseRuntimeError(process.stderr.read())

defprepend_module_to_path(module_path):

"""

Prependtosys.pathmodulelocatedin*module_path*

Returnstringwithmoduleinfos:name,revision,changeset

Usethisfunction:

1)Inyourapplicationtoimportlocalfrozencopiesofinternallibraries

2)Inyourpy2exedistributedpackagetoaddatextfilecontainingthereturnedstring

"""

ifnotosp.isdir(module_path):

#Assumingpy2exedistribution

return

sys.path.insert(0,osp.abspath(module_path))

changeset=get_changeset(module_path)

name=osp.basename(module_path)

prefix="Prependingmoduletosys.path"

message=prefix+("%s[revision%s]"%(name,

).rjust(80-len(prefix),"."

print(message,file=sys.stderr)

ifnameinsys.modules:

sys.modules.pop(name)

nbsp=0

Page 255: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

formodnameinsys.modules.keys():

ifmodname.startswith(name+'.'):

sys.modules.pop(modname)

nbsp+=1

warning='(removed%sfromsys.modules'%

ifnbsp:

warning+='and%dsubpackages'%nbsp

warning+=')'

print(warning.rjust(80),file=sys.stderr)

returnmessage

defprepend_modules_to_path(module_base_path):

"""Prependtosys.pathallmoduleslocatedin*module_base_path*"""

ifnotosp.isdir(module_base_path):

#Assumingpy2exedistribution

return

fnames=[osp.join(module_base_path,name)

fornameinos.listdir(module_base_path

messages=[prepend_module_to_path(dirname)

fordirnameinfnamesifosp.isdir(

returnos.linesep.join(messages)

#==============================================================================

#Distributionhelpers

#==============================================================================

def_remove_later(fname):

"""Trytoremovefilelater(atexit)"""

deftry_to_remove(fname):

ifosp.exists(fname):

os.remove(fname)

atexit.register(try_to_remove,osp.abspath(fname

defget_msvc_version(python_version):

"""ReturnMicrosoftVisualC++versionusedtobuildthisPythonversion"""

ifpython_versionisNone:

Page 256: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

python_version='2.7'

warnings.warn("assumingPython2.7target")

ifpython_versionin('2.6','2.7','3.0','3.1'

#Python2.6-2.7,3.0-3.2werebuiltwithVisualStudio9.0.21022.8

#(i.e.VisualC++2008,notVisualC++2008SP1!)

return"9.0.21022.8"

elifpython_versionin('3.3','3.4'):

#Python3.3+werebuiltwithVisualStudio10.0.30319.1

#(i.e.VisualC++2010)

return'10.0'

else:

raiseRuntimeError("UnsupportedPythonversion

defget_msvc_dlls(msvc_version,architecture=None):

"""GetthelistofMicrosoftVisualC++DLLsassociatedto

architectureandPythonversion,createthemanifestfile.

architecture:integer(32or64)--ifNone,takethePythonbuildarch

python_version:X.Y"""

current_architecture=64ifsys.maxsize>2**32

ifarchitectureisNone:

architecture=current_architecture

filelist=[]

msvc_major=msvc_version.split('.')[0]

msvc_minor=msvc_version.split('.')[1]

ifmsvc_major=='9':

key="1fc8b3b9a1e18e3b"

atype=""ifarchitecture==64else"win32"

arch="amd64"ifarchitecture==64else"x86"

groups={

'CRT':('msvcr90.dll','msvcp90.dll'

#'OPENMP':('vcomp90.dll',)

}

Page 257: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

forgroup,dll_listingroups.items():

dlls=''

fordllindll_list:

dlls+='<filename="%s"/>%s'

manifest=\

"""<?xmlversion="1.0"encoding="UTF-8"standalone="yes"?>

<!--Copyright(c)MicrosoftCorporation.Allrightsreserved.-->

<assemblyxmlns="urn:schemas-microsoft-com:asm.v1"manifestVersion="1.0">

<noInheritable/>

<assemblyIdentity

type="%(atype)s"

name="Microsoft.VC90.%(group)s"

version="%(version)s"

processorArchitecture="%(arch)s"

publicKeyToken="%(key)s"

/>

%(dlls)s</assembly>

"""%dict(version=msvc_version,key=key,atype=atype

group=group,dlls=dlls)

vc90man="Microsoft.VC90.%s.manifest"

open(vc90man,'w').write(manifest)

_remove_later(vc90man)

filelist+=[vc90man]

winsxs=osp.join(os.environ['windir'],

vcstr='%s_Microsoft.VC90.%s_%s_%s'%

forfnameinos.listdir(winsxs):

path=osp.join(winsxs,fname)

ifosp.isdir(path)andfname.lower()

fordllnameinos.listdir(path):

filelist.append(osp.join(path

break

else:

Page 258: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

raiseRuntimeError("MicrosoftVisualC++

"werenotfound"

elifmsvc_major=='10':

namelist=[name%(msvc_major+msvc_minor

(

'msvcp%s.dll','msvcr%s.dll',

'vcomp%s.dll',

)]

windir=os.environ['windir']

is_64bit_windows=osp.isdir(osp.join(windir

#Reminder:WoW64(*W*indows32-bit*o*n*W*indows*64*-bit)isa

#subsystemoftheWindowsoperatingsystemcapableofrunning32-bit

#applicationsandisincludedonall64-bitversionsofWindows

#(source:http://en.wikipedia.org/wiki/WoW64)

#

#Inotherwords,"SysWOW64"contains64-bitDLLandapplications,

#whereas"System32"contains64-bitDLLandapplicationsona64-bit

#system.

sysdir="System32"

ifnotis_64bit_windowsandarchitecture==

raiseRuntimeError("Can'tfind64-bitMSVCDLLsona32-bitOS"

ifis_64bit_windowsandarchitecture==32:

sysdir="SysWOW64"

fordllnameinnamelist:

fname=osp.join(windir,sysdir,dllname

ifosp.exists(fname):

filelist.append(fname)

else:

raiseRuntimeError("MicrosoftVisualC++DLLsversion

"werenotfound"

else:

raiseRuntimeError("UnsupportedMSVCversion

Page 259: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

returnfilelist

defcreate_msvc_data_files(architecture=None,python_version

verbose=False):

"""IncludingMicrosoftVisualC++DLLs"""

msvc_version=get_msvc_version(python_version)

filelist=get_msvc_dlls(msvc_version,architecture

print(create_msvc_data_files.__doc__)

ifverbose:

fornameinfilelist:

print("",name)

msvc_major=msvc_version.split('.')[0]

ifmsvc_major=='9':

return[("Microsoft.VC90.CRT",filelist),]

else:

return[("",filelist),]

defto_include_files(data_files):

"""Convertdata_fileslisttoinclude_fileslist

data_files:

*thisisthe``py2exe``datafilesformat

*listoftuples(dest_dirname,(src_fname1,src_fname2,...))

include_files:

*thisisthe``cx_Freeze``datafilesformat

*listoftuples((src_fname1,dst_fname1),

(src_fname2,dst_fname2),...))

"""

include_files=[]

fordest_dir,fnamesindata_files:

forsource_fnameinfnames:

dest_fname=osp.join(dest_dir,osp.basename

include_files.append((source_fname,dest_fname

returninclude_files

Page 260: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

defstrip_version(version):

"""Returnversionnumberwithdigitsonly

(Windowsdoesnotsupportstringsinversionnumbers)"""

returnversion.split('beta')[0].split('alpha'

)[0].split('rc')[0].split(

defremove_dir(dirname):

"""Removedirectory*dirname*andallitscontents

Printdetailsabouttheoperation(progress,success/failure)"""

print("Removingdirectory'%s'..."%dirname,end

try:

shutil.rmtree(dirname,ignore_errors=True)

print("OK")

exceptException:

print("Failed!")

traceback.print_exc()

classDistribution(object):

"""Distributionobject

Helpcreatinganexecutableusing``py2exe``or``cx_Freeze``

"""

DEFAULT_EXCLUDES=['Tkconstants','Tkinter','tcl'

'_imagingtk','curses','PIL._imagingtk'

'PIL.ImageTk','FixTk','bsddb'

'pywin.debugger','pywin.debugger.dbgcon'

'matplotlib']

DEFAULT_INCLUDES=[]

DEFAULT_BIN_EXCLUDES=['MSVCP100.dll','MSVCP90.dll'

'MSVCP80.dll','MSVCR80.dll'

DEFAULT_BIN_INCLUDES=[]

DEFAULT_BIN_PATH_INCLUDES=[]

DEFAULT_BIN_PATH_EXCLUDES=[]

Page 261: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

def__init__(self):

self.name=None

self.version=None

self.description=None

self.target_name=None

self._target_dir=None

self.icon=None

self.data_files=[]

self.includes=self.DEFAULT_INCLUDES

self.excludes=self.DEFAULT_EXCLUDES

self.bin_includes=self.DEFAULT_BIN_INCLUDES

self.bin_excludes=self.DEFAULT_BIN_EXCLUDES

self.bin_path_includes=self.DEFAULT_BIN_PATH_INCLUDES

self.bin_path_excludes=self.DEFAULT_BIN_PATH_EXCLUDES

self.msvc=os.name=='nt'

self._py2exe_is_loaded=False

self._pyqt4_added=False

self._pyside_added=False

#Attributesrelativetocx_Freeze:

self.executables=[]

@property

deftarget_dir(self):

"""Returntargetdirectory(default:'dist')"""

dirname=self._target_dir

ifdirnameisNone:

return'dist'

else:

returndirname

@target_dir.setter#analysis:ignore

deftarget_dir(self,value):

self._target_dir=value

defsetup(self,name,version,description,script

target_name=None,target_dir=None,icon

Page 262: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

data_files=None,includes=None,excludes

bin_includes=None,bin_excludes=None,

bin_path_includes=None,bin_path_excludes

"""Setupdistributionobject

Notes:

*bin_path_excludesisspecifictocx_Freeze(ignoredifit'sNone)

*ifmsvcisNone,it'ssettoTruebydefaultonWindows

platforms,Falseonnon-Windowsplatforms

"""

self.name=name

self.version=strip_version(version)ifos

self.description=description

assertosp.isfile(script)

self.script=script

self.target_name=target_name

self.target_dir=target_dir

self.icon=icon

ifdata_filesisnotNone:

self.data_files+=data_files

ifincludesisnotNone:

self.includes+=includes

ifexcludesisnotNone:

self.excludes+=excludes

ifbin_includesisnotNone:

self.bin_includes+=bin_includes

ifbin_excludesisnotNone:

self.bin_excludes+=bin_excludes

ifbin_path_includesisnotNone:

self.bin_path_includes+=bin_path_includes

ifbin_path_excludesisnotNone:

self.bin_path_excludes+=bin_path_excludes

ifmsvcisnotNone:

self.msvc=msvc

ifself.msvc:

try:

self.data_files+=create_msvc_data_files

Page 263: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

exceptIOError:

print("SettingthemsvcoptiontoFalse"

"willavoidthiserror",file

raise

#cx_Freeze:

self.add_executable(self.script,self.target_name

defadd_text_data_file(self,filename,contents

"""Createtemporarydatafile*filename*with*contents*

andadditto*data_files*"""

open(filename,'wb').write(contents)

self.data_files+=[("",(filename,))]

_remove_later(filename)

defadd_data_file(self,filename,destdir=''):

self.data_files+=[(destdir,(filename,))]

#------Addingpackages

defadd_pyqt4(self):

"""IncludemodulePyQt4tothedistribution"""

ifself._pyqt4_added:

return

self._pyqt4_added=True

self.includes+=['sip','PyQt4.Qt','PyQt4.QtSvg'

importPyQt4

pyqt_path=osp.dirname(PyQt4.__file__)

#ConfiguringPyQt4

conf=os.linesep.join(["[Paths]","Prefix=."

self.add_text_data_file('qt.conf',conf)

#Includingplugins(.svgiconssupport,QtDesignersupport,...)

ifself.msvc:

vc90man="Microsoft.VC90.CRT.manifest"

Page 264: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

pyqt_tmp='pyqt_tmp'

ifosp.isdir(pyqt_tmp):

shutil.rmtree(pyqt_tmp)

os.mkdir(pyqt_tmp)

vc90man_pyqt=osp.join(pyqt_tmp,vc90man

man=open(vc90man,"r").read().replace

'<filename="Microsoft.VC90.CRT

open(vc90man_pyqt,'w').write(man)

fordirpath,_,filenamesinos.walk(osp.join

filelist=[osp.join(dirpath,f)forf

ifosp.splitext(f)[1]in('.dll'

ifself.msvcand[fforfinfilelist

ifosp.splitext(f)[1]==

#WherethereisaDLLbuildwithMicrosoftVisualC++2008,

#theremustbeamanifestfileaswell...

#...congratstoMicrosoftforthisgreatsimplification!

filelist.append(vc90man_pyqt)

self.data_files.append((dirpath[len(pyqt_path

filelist))

ifself.msvc:

atexit.register(remove_dir,pyqt_tmp)

#Includingfrenchtranslation

fr_trans=osp.join(pyqt_path,"translations"

ifosp.exists(fr_trans):

self.data_files.append(('translations',

defadd_pyside(self):

"""IncludemodulePySidetothedistribution"""

ifself._pyside_added:

return

self._pyside_added=True

self.includes+=['PySide.QtDeclarative','PySide.QtHelp'

'PySide.QtMultimedia','PySide.QtNetwork'

'PySide.QtOpenGL','PySide.QtScript'

Page 265: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

'PySide.QtScriptTools','PySide.QtSql'

'PySide.QtSvg','PySide.QtTest'

'PySide.QtUiTools','PySide.QtWebKit'

'PySide.QtXml','PySide.QtXmlPatterns'

importPySide

pyside_path=osp.dirname(PySide.__file__)

#ConfiguringPySide

conf=os.linesep.join(["[Paths]","Prefix=."

self.add_text_data_file('qt.conf',conf)

#Includingplugins(.svgiconssupport,QtDesignersupport,...)

ifself.msvc:

vc90man="Microsoft.VC90.CRT.manifest"

os.mkdir('pyside_tmp')

vc90man_pyside=osp.join('pyside_tmp',

man=open(vc90man,"r").read().replace

'<filename="Microsoft.VC90.CRT

open(vc90man_pyside,'w').write(man)

fordirpath,_,filenamesinos.walk(osp.join

filelist=[osp.join(dirpath,f)forf

ifosp.splitext(f)[1]in('.dll'

ifself.msvcand[fforfinfilelist

ifosp.splitext(f)[1]

#WherethereisaDLLbuildwithMicrosoftVisualC++2008,

#theremustbeamanifestfileaswell...

#...congratstoMicrosoftforthisgreatsimplification!

filelist.append(vc90man_pyside)

self.data_files.append(

(dirpath[len(pyside_path)+len(os

#Replacingdllsfoundbycx_FreezebytherealPySideQtdlls:

#(http://qt-project.org/wiki/Packaging_PySide_applications_on_Windows)

dlls=[osp.join(pyside_path,fname)

forfnameinos.listdir(pyside_path

ifosp.splitext(fname)[1]=='.dll'

Page 266: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

self.data_files.append(('',dlls))

ifself.msvc:

atexit.register(remove_dir,'pyside_tmp'

#Includingfrenchtranslation

fr_trans=osp.join(pyside_path,"translations"

ifosp.exists(fr_trans):

self.data_files.append(('translations',

defadd_qt_bindings(self):

"""IncludeQtbindings,i.e.PyQt4orPySide"""

try:

imp.find_module('PyQt4')

self.add_modules('PyQt4')

exceptImportError:

self.add_modules('PySide')

defadd_matplotlib(self):

"""IncludemoduleMatplotlibtothedistribution"""

if'matplotlib'inself.excludes:

self.excludes.pop(self.excludes.index('matplotlib'

try:

importmatplotlib.numerix#analysis:ignore

self.includes+=['matplotlib.numerix.ma'

'matplotlib.numerix.fft'

'matplotlib.numerix.linear_algebra'

'matplotlib.numerix.mlab'

'matplotlib.numerix.random_array'

exceptImportError:

pass

self.add_module_data_files('matplotlib',('mpl-data'

('.conf','.glade'

'.xpm','.ppm',

defadd_modules(self,*module_names):

Page 267: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

"""Includemodule*module_name*"""

formodule_nameinmodule_names:

print("Configuringmodule'%s'"%module_name

ifmodule_name=='PyQt4':

self.add_pyqt4()

elifmodule_name=='PySide':

self.add_pyside()

elifmodule_name=='scipy.io':

self.includes+=['scipy.io.matlab.streams'

elifmodule_name=='matplotlib':

self.add_matplotlib()

elifmodule_name=='h5py':

importh5py

forattrin['_stub','_sync','utils'

'defs']:

ifhasattr(h5py,attr):

self.includes.append('h5py.

ifself.bin_path_excludesisnotNone

#Specifictocx_FreezeonWindows:avoidincludingazlibdll

#builtwithanotherversionofMicrosoftVisualStudio

self.bin_path_excludes+=[r'C:\ProgramFiles'

r'C:\ProgramFiles(x86)'

self.data_files.append(#necessaryforcx_Freezeonly

('',(osp.join(get_module_path

)

elifmodule_namein('docutils','rst2pdf'

self.includes+=['docutils.writers.null'

'docutils.languages.en'

'docutils.languages.fr'

ifmodule_name=='rst2pdf':

self.add_module_data_files("rst2pdf"

('.json'

copy_to_root

ifmodule_name=='sphinx':

importsphinx.ext

forfnameinos.listdir(osp.dirname

ifosp.splitext(fname)[1]==

Page 268: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

modname='sphinx.ext.%s

self.includes.append(modname

elifmodule_name=='pygments':

self.includes+=['pygments','pygments.formatters'

'pygments.lexers',

elifmodule_name=='zmq':

#FIXME:thisisnotworking,yet...(missingDLL)

self.includes+=['zmq','zmq.core._poll'

ifos.name=='nt':

self.bin_includes+=['libzmq.dll'

elifmodule_name=='guidata':

self.add_module_data_files('guidata'

('.png','.svg'

try:

imp.find_module('PyQt4')

self.add_pyqt4()

exceptImportError:

self.add_pyside()

elifmodule_name=='guiqwt':

self.add_module_data_files('guiqwt'

('.png','.svg'

ifos.name=='nt':

#Specifictocx_Freeze:includingmanuallyMinGWDLLs

self.bin_includes+=['libgcc_s_dw2-1.dll'

'libstdc++-6.dll'

else:

try:

#Modulesbasedonthesameschemeasguidataandguiqwt

self.add_module_data_files(module_name

('.png','.svg'

exceptIOError:

raiseRuntimeError("Modulenotsupported:

defadd_module_data_dir(self,module_name,data_dir_name

copy_to_root=True,verbose

exclude_dirs=[]):

"""

Page 269: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

Collectdatafilesin*data_dir_name*formodule*module_name*

andaddthemto*data_files*

*extensions*:listoffileextensions,e.g.('.png','.svg')

"""

module_dir=get_module_path(module_name)

nstrip=len(module_dir)+len(osp.sep)

data_dir=osp.join(module_dir,data_dir_name

ifnotosp.isdir(data_dir):

raiseIOError("Directorynotfound:%s"

fordirpath,_dirnames,filenamesinos.walk

dirname=dirpath[nstrip:]

ifosp.basename(dirpath)inexclude_dirs

continue

ifnotcopy_to_root:

dirname=osp.join(module_name,dirname

pathlist=[osp.join(dirpath,f)forf

ifosp.splitext(f)[1].lower

self.data_files.append((dirname,pathlist

ifverbose:

fornameinpathlist:

print("",name)

defadd_module_data_files(self,module_name,data_dir_names

copy_to_root=True,verbose

exclude_dirs=[]):

"""

Collectdatafilesformodule*module_name*andaddthemto*data_files*

*data_dir_names*:listofdirnames,e.g.('images',)

*extensions*:listoffileextensions,e.g.('.png','.svg')

"""

print("Addingmodule'%s'datafilesin%s(

%(module_name,",".join(data_dir_names

module_dir=get_module_path(module_name)

fordata_dir_nameindata_dir_names:

self.add_module_data_dir(module_name,data_dir_name

copy_to_root,verbose

Page 270: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

translation_file=osp.join(module_dir,"locale"

"%s.mo"%module_name

ifosp.isfile(translation_file):

self.data_files.append((osp.join(module_name

"LC_MESSAGES"

print("Addingmodule'%s'translationfile:

osp.basename

defbuild(self,library,cleanup=True,create_archive

"""Buildexecutablewithgivenlibrary.

library:

*'py2exe':deployusingthe`py2exe`library

*'cx_Freeze':deployusingthe`cx_Freeze`library

cleanup:remove'build/dist'directoriesbeforebuildingdistribution

create_archive(requirestheexecutable`zip`):

*NoneorFalse:donothing

*'add':addtargetdirectorytoaZIParchive

*'move':movetargetdirectorytoaZIParchive

"""

iflibrary=='py2exe':

self.build_py2exe(cleanup=cleanup,

create_archive=create_archive

eliflibrary=='cx_Freeze':

self.build_cx_freeze(cleanup=cleanup,

create_archive=create_archive

else:

raiseRuntimeError("Unsupportedlibrary

def__cleanup(self):

"""Removeoldbuildanddistdirectories"""

remove_dir("build")

ifosp.isdir("dist"):

remove_dir("dist")

Page 271: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

remove_dir(self.target_dir)

def__create_archive(self,option):

"""CreateaZIParchive

option:

*'add':addtargetdirectorytoaZIParchive

*'move':movetargetdirectorytoaZIParchive

"""

name=self.target_dir

os.system('zip"%s.zip"-r"%s"'%(name,name

ifoption=='move':

shutil.rmtree(name)

defbuild_py2exe(self,cleanup=True,compressed

company_name=None,copyright=None

"""Buildexecutablewithpy2exe

cleanup:remove'build/dist'directoriesbeforebuildingdistribution

create_archive(requirestheexecutable`zip`):

*NoneorFalse:donothing

*'add':addtargetdirectorytoaZIParchive

*'move':movetargetdirectorytoaZIParchive

"""

fromdistutils.coreimportsetup

importpy2exe#Patchingdistutils--analysis:ignore

self._py2exe_is_loaded=True

ifcleanup:

self.__cleanup()

sys.argv+=["py2exe"]

options=dict(compressed=compressed,optimize

includes=self.includes,excludes

dll_excludes=self.bin_excludes

dist_dir=self.target_dir)

windows=dict(name=self.name,description=

script=self.script,icon_resources

Page 272: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

bitmap_resources=[],other_resources

dest_base=osp.splitext(self.

version=self.version,

company_name=company_name,copyright

setup(data_files=self.data_files,windows=[

options=dict(py2exe=options))

ifcreate_archive:

self.__create_archive(create_archive)

defadd_executable(self,script,target_name,icon

"""Addexecutabletothecx_Freezedistribution

Notsupportedforpy2exe"""

fromcx_FreezeimportExecutable

base=None

ifscript.endswith('.pyw')andos.name=='nt'

base='win32gui'

self.executables+=[Executable(self.script

targetName=self

defbuild_cx_freeze(self,cleanup=True,create_archive

"""Buildexecutablewithcx_Freeze

cleanup:remove'build/dist'directoriesbeforebuildingdistribution

create_archive(requirestheexecutable`zip`):

*NoneorFalse:donothing

*'add':addtargetdirectorytoaZIParchive

*'move':movetargetdirectorytoaZIParchive

"""

assertnotself._py2exe_is_loaded,\

"cx_Freezecan'tbeexecutedafterpy2exe"

fromcx_Freezeimportsetup

ifcleanup:

self.__cleanup()

sys.argv+=["build"]

build_exe=dict(include_files=to_include_files

includes=self.includes,excludes

Page 273: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

bin_excludes=self.bin_excludes

bin_includes=self.bin_includes

bin_path_includes=self.bin_path_includes

bin_path_excludes=self.bin_path_excludes

build_exe=self.target_dir)

setup(name=self.name,version=self.version,

description=self.description,executables

options=dict(build_exe=build_exe))

ifcreate_archive:

self.__create_archive(create_archive)

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 274: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 275: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

Sourcecodeforguidata.configtools

#-*-coding:utf-8-*-

#

#Copyright©2009-2010CEA

#PierreRaybaut

#LicensedunderthetermsoftheCECILLLicense

#(seeguidata/__init__.pyfordetails)

"""

configtools

-----------

The``guidata.configtools``moduleprovidesconfigurationrelatedtools.

"""

from__future__importprint_function

importos

importos.pathasosp

importsys

importgettext

fromguidata.qt.QtGuiimport(QFont,QLabel,QPixmap

QColor,QPen,QBrush,

fromguidata.qt.QtCoreimportQt

fromguidata.utilsimportget_module_path,decode_fs_string

fromguidata.py3compatimportis_unicode,to_text_string

IMG_PATH=[]

defget_module_data_path(modname,relpath=None):

Page 276: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

"""Returnmodule*modname*datapath

Handlespy2exe/cx_Freezedistributions"""

datapath=getattr(sys.modules[modname],'DATAPATH'

ifnotdatapath:

datapath=get_module_path(modname)

parentdir=osp.join(datapath,osp.pardir)

ifosp.isfile(parentdir):

#Parentdirectoryisnotadirectorybutthe'library.zip'file:

#thisiseitherapy2exeoracx_Freezedistribution

datapath=osp.abspath(osp.join(osp.join

modname))

ifrelpathisnotNone:

datapath=osp.abspath(osp.join(datapath,relpath

returndatapath

defget_translation(modname,dirname=None):

"""Returntranslationcallbackformodule*modname*"""

ifdirnameisNone:

dirname=modname

#fixupenvironmentvarLANGincaseit'sunknown

if"LANG"notinos.environ:

importlocale#Warning:2to3falsealarm('import'fixer)

lang=locale.getdefaultlocale()[0]

iflangisnotNone:

os.environ["LANG"]=lang

try:

_trans=gettext.translation(modname,get_module_locale_path

codeset="utf-8"

lgettext=_trans.lgettext

deftranslate_gettext(x):

ifnotPY3andis_unicode(x):

x=x.encode("utf-8")

y=lgettext(x)

ifis_text_string(y)andPY3:

returny

else:

returnto_text_string(y,"utf-8")

Page 277: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

returntranslate_gettext

exceptIOErroras_e:

#print"Notusingtranslations(%s)"%_e

deftranslate_dumb(x):

ifnotis_unicode(x):

returnto_text_string(x,"utf-8")

returnx

returntranslate_dumb

defget_module_locale_path(modname):

"""Returnmodule*modname*gettexttranslationpath"""

localepath=getattr(sys.modules[modname],'LOCALEPATH'

ifnotlocalepath:

localepath=get_module_data_path(modname,

returnlocalepath

defadd_image_path(path,subfolders=True):

"""Appendimagepath(opt.withitssubfolders)togloballistIMG_PATH"""

ifnotis_unicode(path):

path=decode_fs_string(path)

globalIMG_PATH

IMG_PATH.append(path)

ifsubfolders:

forfileobjinos.listdir(path):

pth=osp.join(path,fileobj)

ifosp.isdir(pth):

IMG_PATH.append(pth)

defadd_image_module_path(modname,relpath,subfolders

"""

Appendsimagedatapathrelativetoamodulename.

Usedtoaddmodulelocaldatathatresidesinamoduledirectory

butwillbeshippedundersys.prefix/share/...

modnamemustbethenameofanalreadyimportedmoduleasfoundin

sys.modules

"""

Page 278: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

add_image_path(get_module_data_path(modname,relpath

defget_image_file_path(name,default="not_found.png"

"""

Returntheabsolutepathtoimagewithspecifiedname

name,default:filenameswithextensions

"""

forpthinIMG_PATH:

full_path=osp.join(pth,name)

ifosp.isfile(full_path):

returnosp.abspath(full_path)

ifdefaultisnotNone:

try:

returnget_image_file_path(default,None

exceptRuntimeError:

raiseRuntimeError("Imagefile%rnotfound"

else:

raiseRuntimeError()

defget_icon(name,default="not_found.png"):

"""

ConstructaQIconfromthefilewithspecifiedname

name,default:filenameswithextensions

"""

returnQIcon(get_image_file_path(name,default))

defget_image_label(name,default="not_found.png"):

"""

ConstructaQLabelfromthefilewithspecifiedname

name,default:filenameswithextensions

"""

label=QLabel()

pixmap=QPixmap(get_image_file_path(name,default

label.setPixmap(pixmap)

returnlabel

Page 279: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

defget_image_layout(imagename,text="",tooltip=""

"""

ConstructaQHBoxLayoutincludingimagefromthefilewithspecifiedname,

left-alignedtext[withspecifiedtooltip]

Return(layout,label)

"""

layout=QHBoxLayout()

ifalignmentin(Qt.AlignCenter,Qt.AlignRight):

layout.addStretch()

layout.addWidget(get_image_label(imagename))

label=QLabel(text)

label.setToolTip(tooltip)

layout.addWidget(label)

ifalignmentin(Qt.AlignCenter,Qt.AlignLeft):

layout.addStretch()

return(layout,label)

deffont_is_installed(font):

"""Checkiffontisinstalled"""

return[famforfaminQFontDatabase().families

ifto_text_string(fam)==font]

MONOSPACE=['CourierNew','BitstreamVeraSansMono'

'LiberationMono','Monaco','Courier'

'Terminal']

defget_family(families):

"""Returnthefirstinstalledfontfamilyinfamilylist"""

ifnotisinstance(families,list):

families=[families]

forfamilyinfamilies:

iffont_is_installed(family):

returnfamily

Page 280: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

else:

print("Warning:Noneofthefollowingfontsisinstalled:

return""

defget_font(conf,section,option=""):

"""

ConstructaQFontfromthespecifiedconfigurationfileentry

conf:UserConfiginstance

section[,option]:configurationentry

"""

ifnotoption:

option="font"

if'font'notinoption:

option+='/font'

font=QFont()

ifconf.has_option(section,option+'/family/nt'

families=conf.get(section,option+'/family/'

elifconf.has_option(section,option+'/family'):

families=conf.get(section,option+'/family'

else:

families=None

iffamiliesisnotNone:

ifnotisinstance(families,list):

families=[families]

family=None

forfamilyinfamilies:

iffont_is_installed(family):

break

font.setFamily(family)

ifconf.has_option(section,option+'/size'):

font.setPointSize(conf.get(section,option+

ifconf.get(section,option+'/bold',False):

font.setWeight(QFont.Bold)

else:

font.setWeight(QFont.Normal)

returnfont

Page 281: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

defget_pen(conf,section,option="",

color="black",width=1,style='SolidLine'

"""

ConstructaQPenfromthespecifiedconfigurationfileentry

conf:UserConfiginstance

section[,option]:configurationentry

[color]:defaultcolor

[width]:defaultwidth

[style]:defaultstyle

"""

if'pen'notinoption:

option+='/pen'

color=conf.get(section,option+"/color",color

color=QColor(color)

width=conf.get(section,option+"/width",width

style_name=conf.get(section,option+"/style",

style=getattr(Qt,style_name)

returnQPen(color,width,style)

defget_brush(conf,section,option="",color="black"

"""

ConstructaQBrushfromthespecifiedconfigurationfileentry

conf:UserConfiginstance

section[,option]:configurationentry

[color]:defaultcolor

[alpha]:defaultalpha-channel

"""

if'brush'notinoption:

option+='/brush'

color=conf.get(section,option+"/color",color

color=QColor(color)

alpha=conf.get(section,option+"/alphaF",alpha

color.setAlphaF(alpha)

Page 282: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

returnQBrush(color)

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 283: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 284: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Sourcecodeforguidata.userconfig

#!/usr/bin/envpython

#-*-coding:utf-8-*-

#userconfigLicenseAgreement(MITLicense)

#------------------------------------------

#

#Copyright©2009-2012PierreRaybaut

#

#Permissionisherebygranted,freeofcharge,toanyperson

#obtainingacopyofthissoftwareandassociateddocumentation

#files(the"Software"),todealintheSoftwarewithout

#restriction,includingwithoutlimitationtherightstouse,

#copy,modify,merge,publish,distribute,sublicense,and/orsell

#copiesoftheSoftware,andtopermitpersonstowhomthe

#Softwareisfurnishedtodoso,subjecttothefollowing

#conditions:

#

#Theabovecopyrightnoticeandthispermissionnoticeshallbe

#includedinallcopiesorsubstantialportionsoftheSoftware.

#

#THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,

#EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIES

#OFMERCHANTABILITY,FITNESSFORAPARTICULARPURPOSEAND

#NONINFRINGEMENT.INNOEVENTSHALLTHEAUTHORSORCOPYRIGHT

#HOLDERSBELIABLEFORANYCLAIM,DAMAGESOROTHERLIABILITY,

#WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISING

#FROM,OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOR

#OTHERDEALINGSINTHESOFTWARE.

"""

userconfig

----------

Page 285: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

The``guidata.userconfig``moduleprovidesuserconfigurationfile(.inifile)

managementfeaturesbasedon``ConfigParser``(standardPythonlibrary).

Itistheexactcopyoftheopen-sourcepackage`userconfig`(MITlicense).

"""

from__future__importprint_function

__version__='1.0.7'

importos

importre

importos.pathasosp

importsys

fromguidata.py3compatimportconfigparserascp

fromguidata.py3compatimportis_text_string,is_unicode

def_check_values(sections):

#Checksifallkey/valuepairsarewritable

err=False

forsection,datainlist(sections.items()):

forkey,valueinlist(data.items()):

try:

_s=str(value)

exceptExceptionas_e:

print("Can'tconvert:")

print(section,key,repr(value))

err=True

iferr:

assertFalse

else:

importtraceback

print("-"*30)

traceback.print_stack()

Page 286: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

defget_home_dir():

"""

Returnuserhomedirectory

"""

try:

path=osp.expanduser('~')

except:

path=''

forenv_varin('HOME','USERPROFILE','TMP'):

ifosp.isdir(path):

break

path=os.environ.get(env_var,'')

ifpath:

returnpath

else:

raiseRuntimeError('Pleasedefineenvironmentvariable$HOME'

defencode_to_utf8(x):

"""EncodeunicodestringinUTF-8--butonlywithPython2"""

ifPY2andis_unicode(x):

returnx.encode("utf-8")

else:

returnx

defget_config_dir():

ifsys.platform=="win32":

#TODO:onwindowsconfigfilesusuallygoin

returnget_home_dir()

returnosp.join(get_home_dir(),".config")

classNoDefault:

pass

classUserConfig(cp.ConfigParser):

"""

UserConfigclass,basedonConfigParser

Page 287: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

name:nameoftheconfig

options:dictionnarycontainingoptions*or*listoftuples

(section_name,options)

Notethat'get'and'set'argumentsnumberandtype

differfromtheoverridenmethods

"""

default_section_name='main'

def__init__(self,defaults):

cp.ConfigParser.__init__(self)

self.name="none"

self.raw=0#0=substitutionsareenabled/1=rawconfigparser

assertisinstance(defaults,dict)

for_key,valinlist(defaults.items()):

assertisinstance(val,dict)

ifself.default_section_namenotindefaults

defaults[self.default_section_name]={}

self.defaults=defaults

self.reset_to_defaults(save=False)

self.check_default_values()

defupdate_defaults(self,defaults):

forkey,sectdictinlist(defaults.items()):

ifkeynotinself.defaults:

self.defaults[key]=sectdict

else:

self.defaults[key].update(sectdict)

self.reset_to_defaults(save=False)

defsave(self):

#Inanycase,theresultingconfigissavedinconfigfile:

self.__save()

defset_application(self,name,version,load=True

self.name=name

Page 288: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

self.raw=1ifraw_modeelse0

if(versionisnotNone)and(re.match('^(\d+).(\d+).(\d+)$'

raiseRuntimeError("Versionnumber%risincorrect-mustbeinX.Y.Zformat"

ifload:

#Ifconfigfilealreadyexists,itoverridesDefaultoptions:

self.__load()

ifversion!=self.get_version(version):

#Versionhaschanged->overwriting.inifile

self.reset_to_defaults(save=False)

self.__remove_deprecated_options()

#Setnewversionnumber

self.set_version(version,save=False

ifself.defaultsisNone:

#Ifnodefaultsaredefined,set.inifilesettingsasdefault

self.set_as_defaults()

defcheck_default_values(self):

"""Checkthestaticoptionsforforbiddendatatypes"""

errors=[]

def_check(key,value):

ifvalueisNone:

return

ifisinstance(value,dict):

fork,vinlist(value.items()):

_check(key+"{}",k)

_check(key+"/"+k,v)

elifisinstance(value,(list,tuple)):

forvinvalue:

_check(key+"[]",v)

else:

ifnotisinstance(value,(bool,int

errors.append("Invalidvaluefor

forname,sectioninlist(self.defaults.items

assertisinstance(name,str)

forkey,valueinlist(section.items()):

_check(key,value)

Page 289: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

iferrors:

forerrinerrors:

print(err)

raiseValueError("Invaliddefaultvalues"

defget_version(self,version='0.0.0'):

"""Returnconfiguration(notapplication!)version"""

returnself.get(self.default_section_name,

defset_version(self,version='0.0.0',save=True

"""Setconfiguration(notapplication!)version"""

self.set(self.default_section_name,'version'

def__load(self):

"""

Loadconfigfromtheassociated.inifile

"""

try:

ifPY2:

#Python2

self.read(self.filename())

else:

#Python3

self.read(self.filename(),encoding

exceptcp.MissingSectionHeaderError:

print("Warning:Filecontainsnosectionheaders."

def__remove_deprecated_options(self):

"""

Removeoptionswhicharepresentinthe.inifilebutnotindefaults

"""

forsectioninself.sections():

foroption,_inself.items(section,raw

ifself.get_default(section,option

self.remove_option(section,option

iflen(self.items(section,raw=

Page 290: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

self.remove_section(section

def__save(self):

"""

Saveconfigintotheassociated.inifile

"""

fname=self.filename()

ifosp.isfile(fname):

os.remove(fname)

ifPY2:

#Python2

withopen(fname,'w')asconfigfile:

self.write(configfile)

else:

#Python3

withopen(fname,'w',encoding='utf-8')

self.write(configfile)

deffilename(self):

"""

Createa.inifilenamelocatedinuserhomedirectory

"""

returnosp.join(get_config_dir(),'.%s.ini'

defcleanup(self):

"""

Remove.inifileassociatedtoconfig

"""

os.remove(self.filename())

defset_as_defaults(self):

"""

Setdefaultsfromthecurrentconfig

"""

self.defaults={}

forsectioninself.sections():

Page 291: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

secdict={}

foroption,valueinself.items(section

secdict[option]=value

self.defaults[section]=secdict

defreset_to_defaults(self,save=True,verbose=

"""

ResetconfigtoDefaultvalues

"""

forsection,optionsinlist(self.defaults.

foroptioninoptions:

value=options[option]

self.__set(section,option,value,

ifsave:

self.__save()

def__check_section_option(self,section,option

"""

Privatemethodtochecksectionandoptiontypes

"""

ifsectionisNone:

section=self.default_section_name

elifnotis_text_string(section):

raiseRuntimeError("Argument'section'mustbeastring"

ifnotis_text_string(option):

raiseRuntimeError("Argument'option'mustbeastring"

returnsection

defget_default(self,section,option):

"""

GetDefaultvalueforagiven(section,option)

->usefulfortypecheckingin'get'method

"""

section=self.__check_section_option(section

options=self.defaults.get(section,{})

returnoptions.get(option,NoDefault)

Page 292: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

defget(self,section,option,default=NoDefault

"""

Getanoption

section=None:attributeadefaultsectionname

default:defaultvalue(ifnotspecified,anexception

willberaisedifoptiondoesn'texist)

"""

section=self.__check_section_option(section

ifnotself.has_section(section):

ifdefaultisNoDefault:

raiseRuntimeError("Unknownsection

else:

self.add_section(section)

ifnotself.has_option(section,option):

ifdefaultisNoDefault:

raiseRuntimeError("Unknownoption

else:

self.set(section,option,default)

returndefault

value=self.__get(section,option)

ifPY2andisinstance(value,str):

returnvalue.decode("utf-8")

returnvalue

def__get(self,section,option):

"""Getandconvertvaluetothetypeofthedefaultvalue"""

value=cp.ConfigParser.get(self,section,

default_value=self.get_default(section,option

ifisinstance(default_value,bool):

value=eval(value)

elifisinstance(default_value,float):

value=float(value)

elifisinstance(default_value,int):

Page 293: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

value=int(value)

elifisinstance(default_value,str):

pass

else:

try:

#lists,tuples,...

value=eval(value)

except:

pass

returnencode_to_utf8(value)

defget_section(self,section):

sect=self.defaults.get(section,{}).copy()

foroptinself.options(section):

sect[opt]=self.__get(section,opt)

returnsect

def__set(self,section,option,value,verbose

"""

Privatesetmethod

"""

ifnotself.has_section(section):

self.add_section(section)

ifnotis_text_string(value):

value=repr(value)

ifverbose:

print('%s[%s]=%s'%(section,option

cp.ConfigParser.set(self,section,option,

defset_default(self,section,option,default_value

"""

SetDefaultvalueforagiven(section,option)

->calledwhenanew(section,option)issetandnodefaultexists

"""

section=self.__check_section_option(section

options=self.defaults.setdefault(section,

options[option]=encode_to_utf8(default_value

Page 294: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

indexmodules |guidata1.6.1documentation » Modulecode »

defset(self,section,option,value,verbose=False

"""

Setanoption

section=None:attributeadefaultsectionname

"""

section=self.__check_section_option(section

default_value=self.get_default(section,option

ifdefault_valueisNoDefault:

default_value=value

self.set_default(section,option,default_value

ifisinstance(default_value,bool):

value=bool(value)

elifisinstance(default_value,float):

value=float(value)

elifisinstance(default_value,int):

value=int(value)

elifnotis_text_string(default_value):

value=repr(value)

self.__set(section,option,value,verbose)

ifsave:

self.__save()

defremove_section(self,section):

cp.ConfigParser.remove_section(self,section

self.__save()

defremove_option(self,section,option):

cp.ConfigParser.remove_option(self,section

self.__save()

Page 295: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 296: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation » Modulecode »

Page 297: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

Sourcecodeforguidata.utils

#-*-coding:utf-8-*-

#

#Copyright©2009-2010CEA

#PierreRaybaut

#LicensedunderthetermsoftheCECILLLicense

#(seeguidata/__init__.pyfordetails)

#pylint:disable=C0103

"""

utils

-----

The``guidata.utils``moduleprovidesvariousutilityhelperfunctions

(purepython).

"""

from__future__importprint_function

importsys

importtime

importsubprocess

importos

importos.pathasosp

importlocale#Warning:2to3falsealarm('import'fixer)

importcollections

fromguidata.py3compatimport(is_unicode,to_text_string

get_func_code,get_func_name

#==============================================================================

#Misc.

Page 298: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

#==============================================================================

defmin_equals_max(min,max):

"""

ReturnTrueifminimiumvalueequalsmaximumvalue

ReturnFalseifnot,orifmaximumorminimumvalueisnotdefined

"""

returnminisnotNoneandmaxisnotNoneand

defpairs(iterable):

"""Asimplegeneratorthattakesalistandgenerates

pairs[(l[0],l[1]),...,(l[n-2],l[n-1])]

"""

iterator=iter(iterable)

first=next(iterator)

whileTrue:

second=next(iterator)

yield(first,second)

first=second

defadd_extension(item,value):

"""Addextensiontofilename

`item`:dataitemrepresentingafilepath

`value`:possiblevaluefordataitem"""

value=to_text_string(value)

formats=item.get_prop("data","formats")

iflen(formats)==1andformats[0]!='*':

ifnotvalue.endswith('.'+formats[0])and

returnvalue+'.'+formats[0]

returnvalue

defbind(fct,value):

"""

Returnsacallablerepresentingthefunction'fct'withit's

firstargumentboundtothevalue

Page 299: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

ifg=bind(f,1)andfisafunctionofx,y,z

theng(y,z)willreturnf(1,y,z)

"""

defcallback(*args,**kwargs):

returnfct(value,*args,**kwargs)

returncallback

deftrace(fct):

"""Adecoratorthattracesfunctionentry/exit

usedfordebuggingonly

"""

fromfunctoolsimportwraps

@wraps(fct)

defwrapper(*args,**kwargs):

"""Tracingfunctionentry/exit(debuggingonly)"""

print("enter:",fct.__name__)

res=fct(*args,**kwargs)

print("leave:",fct.__name__)

returnres

returnwrapper

#==============================================================================

#Strings

#==============================================================================

defdecode_fs_string(string):

"""Convertstringfromfilesystemcharsettounicode"""

charset=sys.getfilesystemencoding()

ifcharsetisNone:

charset=locale.getpreferredencoding()

returnstring.decode(charset)

#TODO:Py3/I'mreallynotsatisfiedwiththiscodeevenifit'scompatiblewithPy3

Page 300: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

defutf8_to_unicode(string):

"""ConvertUTF-8stringtoUnicode"""

ifnotis_text_string(string):

string=to_text_string(string)

ifnotis_unicode(string):

try:

string=to_text_string(string,"utf-8"

exceptUnicodeDecodeError:

#Thisisborderline...butweadmitherestringwhichhasbeen

#erroneouslyencodedinfilesystemcharsetinsteadofUTF-8

string=decode_fs_string(string)

returnstring

#Findouttheencodingusedforstdoutoruseasciiasdefault

STDOUT_ENCODING="ascii"

ifhasattr(sys.stdout,"encoding"):

ifsys.stdout.encoding:

STDOUT_ENCODING=sys.stdout.encoding

defunicode_to_stdout(ustr):

"""convertaunicodestringtoabytestringencoded

forstdoutoutput"""

returnustr.encode(STDOUT_ENCODING,"replace")

#==============================================================================

#Updating,restoringdatasets

#==============================================================================

defupdate_dataset(dest,source,visible_only=False

"""

Update`dest`datasetitemsfrom`source`dataset

destshouldinheritfromDataSet,whereassourcecanbe:

*anyPythonobjectcontainingmatchingattributenames

Page 301: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

*oradictionarywithmatchingkeynames

ForeachDataSetitem,thefunctionwilltrytogettheattribute

ofthesamenamefromthesource.

visible_only:ifTrue,updateonlyvisibleitems

"""

foritemindest._items:

key=item._name

ifhasattr(source,key):

try:

hide=item.get_prop_value("display"

exceptAttributeError:

#FIXME:Removethistry...except

hide=False

ifvisible_onlyandhide:

continue

setattr(dest,key,getattr(source,key))

elifisinstance(source,dict)andkeyinsource

setattr(dest,key,source[key])

defrestore_dataset(source,dest):

"""

Restore`dest`datasetitemsfrom`source`dataset

Thisfunctionisalmostthesameasupdate_datasetbutrequires

thesourcetobeaDataSetinsteadofthedestination.

Symetricallyfromupdate_dataset,`dest`mayalsobeadictionary.

"""

foriteminsource._items:

key=item._name

value=getattr(source,key)

ifhasattr(dest,key):

try:

setattr(dest,key,value)

exceptAttributeError:

Page 302: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

#Thisattributeisaproperty,skippingthisiteration

continue

elifisinstance(dest,dict):

dest[key]=value

#==============================================================================

#Interfacechecking

#==============================================================================

defassert_interface_supported(klass,iface):

"""Makessureaclasssupportsaninterface"""

forname,funcinlist(iface.__dict__.items()):

ifname=='__inherits__':

continue

ifisinstance(func,collections.Callable):

asserthasattr(klass,name),\

"Attribute%smissingfrom%r"%

imp_func=getattr(klass,name)

imp_code=get_func_code(imp_func)

code=get_func_code(func)

imp_nargs=imp_code.co_argcount

nargs=code.co_argcount

ifimp_code.co_varnames[:imp_nargs]!=

assertFalse,"Argumentsof%s.%sdifferfrominterface:"

"%r!=%r"%(

klass.__name__,get_func_name

imp_code.co_varnames

code.co_varnames[:nargs

)

else:

pass#shouldcheckclassattributesforconsistency

defassert_interfaces_valid(klass):

"""Makessureaclasssupportstheinterfaces

itdeclares"""

asserthasattr(klass,"__implements__"),\

Page 303: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

"Classdoesn'timplementsanything"

forifaceinklass.__implements__:

assert_interface_supported(klass,iface)

ifhasattr(iface,"__inherits__"):

base=iface.__inherits__()

assertissubclass(klass,base),\

"%sshouldbeasubclassof%s"

#==============================================================================

#Date,time,timer

#==============================================================================

deflocaltime_to_isodate(time_struct):

"""ConvertlocaltimetoISOdate"""

s=time.strftime("%Y-%m-%d%H:%M:%S",time_struct

s+="%+05d"%time.timezone

returns

defisodate_to_localtime(datestr):

"""ConvertISOdatetolocaltime"""

returntime.strptime(datestr[:16],"%Y-%m-%d%H:%M:%S"

classFormatTime(object):

"""Helperobjectthatsubstituteasastringto

formatsecondsinto(nnHmmminsss)"""

def__init__(self,hours_fmt="%dH",min_fmt="

self.sec_fmt=sec_fmt

self.hours_fmt=hours_fmt

self.min_fmt=min_fmt

def__mod__(self,val):

val=val[0]

hours=val//3600.

minutes=(val%3600.)//60

seconds=(val%60.)

ifhours:

Page 304: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

[docs]

return((self.hours_fmt%hours)+

(self.min_fmt%minutes)+

(self.sec_fmt%seconds))

elifminutes:

return((self.min_fmt%minutes)+

(self.sec_fmt%seconds))

else:

return(self.sec_fmt%seconds)

format_hms=FormatTime()

classTimer(object):

"""MATLAB-liketimer:tic,toc"""

def__init__(self):

self.t0_dict={}

deftic(self,cat):

"""Startingtimer"""

print(">",cat)

self.t0_dict[cat]=time.clock()

deftoc(self,cat,msg="delta:"):

"""Stoppingtimer"""

print("<",cat,":",msg,time.clock()-self

_TIMER=Timer()

tic=_TIMER.tic

toc=_TIMER.toc

#==============================================================================

#Module,scripts,programs

#==============================================================================

defget_module_path(modname):

"""Returnmodule*modname*basepath"""

module=sys.modules.get(modname,__import__(modname

returnosp.abspath(osp.dirname(module.__file__))

Page 305: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

defis_program_installed(basename):

"""ReturnprogramabsolutepathifinstalledinPATH

Otherwise,returnNone"""

forpathinos.environ["PATH"].split(os.pathsep

abspath=osp.join(path,basename)

ifosp.isfile(abspath):

returnabspath

defrun_program(name,args='',cwd=None,shell=True

"""Runprograminaseparateprocess"""

path=is_program_installed(name)

ifnotpath:

raiseRuntimeError("Program%swasnotfound"

command=[path]

ifargs:

command.append(args)

ifwait:

subprocess.call("".join(command),cwd=cwd,

else:

subprocess.Popen("".join(command),cwd=cwd

defis_module_available(module_name):

"""ReturnTrueifPythonmoduleisavailable"""

try:

__import__(module_name)

returnTrue

exceptImportError:

returnFalse

#==============================================================================

#Utilitiesforsetup.pyscripts

#==============================================================================

Page 306: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

[docs]

[docs]

[docs]

indexmodules |guidata1.6.1documentation » Modulecode »

defget_package_data(name,extlist,exclude_dirs=[]):

"""

Returndatafilesforpackage*name*withextensionsin*extlist*

(searchrecursivelyinpackagedirectories)

"""

assertisinstance(extlist,(list,tuple))

flist=[]

#Workaroundtoreplaceos.path.relpath(notavailableuntilPython2.6):

offset=len(name)+len(os.pathsep)

fordirpath,_dirnames,filenamesinos.walk(name

ifdirpathnotinexclude_dirs:

forfnameinfilenames:

ifosp.splitext(fname)[1].lower()in

flist.append(osp.join(dirpath,

returnflist

defget_subpackages(name):

"""Returnsubpackagesofpackage*name*"""

splist=[]

fordirpath,_dirnames,_filenamesinos.walk(name

ifosp.isfile(osp.join(dirpath,'__init__.py'

splist.append(".".join(dirpath.split(os

returnsplist

defcythonize_all(relpath):

"""CythonizeallCythonmodulesinrelativepath"""

fromCython.CompilerimportMain

forfnameinos.listdir(relpath):

ifosp.splitext(fname)[1]=='.pyx':

Main.compile(osp.join(relpath,fname))

Page 307: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.

Page 308: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation »

Page 309: guidata 1.6.1 documentation · Based on the Qt Python binding module PyQt4, guidata is a Python ... PyQt / PySide compatibility Python 3 compatibility Fixing trivial things with 2to3

indexmodules |guidata1.6.1documentation »

Allmodulesforwhichcodeisavailable

guidata.configtoolsguidata.dataset.dataitemsguidata.dataset.datatypesguidata.disthelpersguidata.qthelpersguidata.userconfigguidata.utils

©Copyright2009-2013,CEA-Commissariatàl'EnergieAtomiqueetauxEnergiesAlternatives.

CreatedusingSphinx1.2b1.