def __init__(self): description = ''' <h2>Export</h2> Select a directory to export IDB data into. ''' Form.__init__(self, r"""BUTTON YES* Save Export {StringLabel} <#Symbols#Symbols filename:{iSymbolsFilename}> <#C Header#C Header filename:{iHeaderFilename}> <#ifdef_macro#ifdef'ed:{iIfdef}> <#Select dir#Browse for dir:{iDir}> """, { 'iDir': Form.DirInput(), 'StringLabel': Form.StringLabel(description, tp=Form.FT_HTML_LABEL), 'iSymbolsFilename': Form.StringInput( value='symbols.txt'), 'iHeaderFilename': Form.StringInput( value='fa_structs.h'), 'iIfdef': Form.StringInput( value='FA_STRUCTS_H'), }) self.__n = 0
def __init__(self, signatures_root, use_template): description = ''' <h2>Settings</h2> <div> Here you can change global FA settings. </div> <div> <a href="https://github.com/doronz88/fa"> For more info</a> </div> ''' Form.__init__(self, r"""BUTTON YES* Save FA Settings {{FormChangeCb}} {{StringLabel}} <Signatures root :{{signaturesRoot}}> <Temp signature generation :{{signatureGeneration}}> """.format(signatures_root), { 'FormChangeCb': Form.FormChangeCb(self.OnFormChange), 'signaturesRoot': Form.DirInput(value=signatures_root), 'StringLabel': Form.StringLabel(description, tp=Form.FT_HTML_LABEL), 'signatureGeneration': Form.DropdownListControl( items=['Default', 'Using function bytes'], readonly=True, selval=use_template), }) self.__n = 0
def __init__(self): self.invert = False self.EChooser = TestEmbeddedChooserClass("E1", flags=Choose.CH_MULTI) Form.__init__(self, r"""STARTITEM {id:rNormal} BUTTON YES* Yeah BUTTON NO Nope BUTTON CANCEL Nevermind Form Test {FormChangeCb} This is a string: |+{cStr1}+ This is an address:|+{cAddr1}+ This is some HTML: |+{cHtml1}+ This is a number: |+{cVal1}+ <#Hint1#Enter text :{iStr1}> <#Hint2#Select color:{iColor1}> Browse test <#Select a file to open#Browse to open:{iFileOpen}> <#Select a file to save#Browse to save:{iFileSave}> <#Select dir#Browse for dir:{iDir}> Misc <##Enter a selector value:{iSegment}> <##Enter a raw hex :{iRawHex}> <##Enter a character :{iChar}> <##Enter an address :{iAddr}> <##Write a type name :{iType}> Button test: <##Button1:{iButton1}> <##Button2:{iButton2}> <##Check boxes##Error output:{rError}> | <##Radio boxes##Green:{rGreen}> <Normal output:{rNormal}> | <Red:{rRed}> <Warnings:{rWarnings}>{cGroup1}> | <Blue:{rBlue}>{cGroup2}> <Embedded chooser:{cEChooser}> The end! """, { 'cStr1': Form.StringLabel("Hello"), 'cHtml1': Form.StringLabel("<span style='color: red'>Is this red?<span>", tp=Form.FT_HTML_LABEL), 'cAddr1': Form.NumericLabel(0x401000, Form.FT_ADDR), 'cVal1' : Form.NumericLabel(99, Form.FT_HEX), 'iStr1': Form.StringInput(), 'iColor1': Form.ColorInput(), 'iFileOpen': Form.FileInput(open=True), 'iFileSave': Form.FileInput(save=True), 'iDir': Form.DirInput(), 'iType': Form.StringInput(tp=Form.FT_TYPE), 'iSegment': Form.NumericInput(tp=Form.FT_SEG), 'iRawHex': Form.NumericInput(tp=Form.FT_RAWHEX), 'iAddr': Form.NumericInput(tp=Form.FT_ADDR), 'iChar': Form.NumericInput(tp=Form.FT_CHAR), 'iButton1': Form.ButtonInput(self.OnButton1), 'iButton2': Form.ButtonInput(self.OnButton2), 'cGroup1': Form.ChkGroupControl(("rNormal", "rError", "rWarnings")), 'cGroup2': Form.RadGroupControl(("rRed", "rGreen", "rBlue")), 'FormChangeCb': Form.FormChangeCb(self.OnFormChange), 'cEChooser' : Form.EmbeddedChooserControl(self.EChooser) })