diff --git a/src/frameworks/tkinter/engine/code.js b/src/frameworks/tkinter/engine/code.js index 9e94366..f6e2b21 100644 --- a/src/frameworks/tkinter/engine/code.js +++ b/src/frameworks/tkinter/engine/code.js @@ -117,7 +117,7 @@ async function generateTkinterCode(projectName, widgetList=[], widgetRefs=[], as // TODO: avoid adding \n inside the list instead rewrite using code.join("\n") const code = [ - "# This code is generated by PyUIbuilder: https://github.com/paulledemon", + "# This code is generated by PyUIbuilder: https://github.com/PaulleDemon/PyUIBuilder", "\n\n", ...imports.flatMap((item, index) => index < imports.length - 1 ? [item, "\n"] : [item]), //add \n to every line "\n\n", @@ -132,12 +132,14 @@ async function generateTkinterCode(projectName, widgetList=[], widgetRefs=[], as const createFileList = [ { - fileData: code.join("\n"), + fileData: code.join(""), fileName: "main.py", folder: "" } ] + console.log("requirements: ", requirements) + if (requirements.length > 0){ createFileList.push({ fileData: requirements.join("\n"), @@ -176,11 +178,11 @@ async function generateTkinterCode(projectName, widgetList=[], widgetRefs=[], as } - // createFilesAndDownload(createFileList, projectName).then(() => { - // message.success("Download complete") - // }).catch(() => { - // message.error("Error while downloading") - // }) + createFilesAndDownload(createFileList, projectName).then(() => { + message.success("Download complete") + }).catch(() => { + message.error("Error while downloading") + }) } diff --git a/src/frameworks/tkinter/widgets/base.js b/src/frameworks/tkinter/widgets/base.js index b25f448..e97e046 100644 --- a/src/frameworks/tkinter/widgets/base.js +++ b/src/frameworks/tkinter/widgets/base.js @@ -54,19 +54,19 @@ export class TkinterBase extends Widget { const expand = this.getAttrValue("flexManager.expand") if (fillX){ - config['fill'] = "'x'" + config['fill'] = `"x"` } if (fillY){ - config['fill'] = "'y'" + config['fill'] = `"y"` } if (fillX && fillY){ - config['fill'] = "'both'" + config['fill'] = `"both"` } if (expand){ - config['expand'] = 'True' + config['expand'] = "True" } layoutManager = `pack(${convertObjectToKeyValueString(config)})` diff --git a/src/frameworks/tkinter/widgets/label.js b/src/frameworks/tkinter/widgets/label.js index dfccbf3..4f7bcb7 100644 --- a/src/frameworks/tkinter/widgets/label.js +++ b/src/frameworks/tkinter/widgets/label.js @@ -58,9 +58,10 @@ class Label extends TkinterWidgetBase{ getRequirements(){ const requirements = super.getRequirements() + if (this.getAttrValue("imageUpload")) - requirements.push(`pillow`) + requirements.push("pillow") return requirements } @@ -72,14 +73,15 @@ class Label extends TkinterWidgetBase{ const config = convertObjectToKeyValueString(this.getConfigCode()) const image = this.getAttrValue("imageUpload") - let labelInitialization = `tk.Label(master=${parent}, text="${labelText}")` + let labelInitialization = `${variableName} = tk.Label(master=${parent}, text="${labelText}")` const code = [] - if (image.name){ + if (image?.name){ code.push(`${variableName}_img = Image.open(${getPythonAssetPath(image.name, "image")})`) code.push(`${variableName}_img = ImageTk.PhotoImage(${variableName}_img)`) - labelInitialization = `tk.Label(master=${parent}, image="${variableName}_img", text="${labelText}")` + // code.push("\n") + labelInitialization = `${variableName} = tk.Label(master=${parent}, image="${variableName}_img", text="${labelText}")` } // code.push("\n") diff --git a/src/frameworks/tkinter/widgets/optionMenu.js b/src/frameworks/tkinter/widgets/optionMenu.js index 764a036..3ce4fc4 100644 --- a/src/frameworks/tkinter/widgets/optionMenu.js +++ b/src/frameworks/tkinter/widgets/optionMenu.js @@ -42,7 +42,6 @@ class OptionMenu extends TkinterWidgetBase{ } } - console.log("attrs1: ", this.state.attrs) } componentDidMount(){ @@ -71,7 +70,7 @@ class OptionMenu extends TkinterWidgetBase{ const toolBarAttrs = super.getToolbarAttrs() const attrs = this.state.attrs - console.log("attrs: ", attrs) + return ({ id: this.__id, widgetName: toolBarAttrs.widgetName,