From 4da018b8ceddfeb73d0341d89ff698237d5da18b Mon Sep 17 00:00:00 2001 From: Paul Kulchenko Date: Thu, 21 Feb 2013 20:31:03 -0800 Subject: [PATCH] Removed files for handling preferences that are no longer used. --- src/editor/preferences.lua | 303 ------------------------------------ src/main.lua | 6 +- src/preferences/editor.lua | 23 --- src/preferences/project.lua | 37 ----- src/{misc => }/util.lua | 0 zbstudio/MANIFEST | 5 +- 6 files changed, 3 insertions(+), 371 deletions(-) delete mode 100644 src/editor/preferences.lua delete mode 100644 src/preferences/editor.lua delete mode 100644 src/preferences/project.lua rename src/{misc => }/util.lua (100%) diff --git a/src/editor/preferences.lua b/src/editor/preferences.lua deleted file mode 100644 index 2777a0dbe3..0000000000 --- a/src/editor/preferences.lua +++ /dev/null @@ -1,303 +0,0 @@ --- authors: Luxinia Dev (Eike Decker & Christoph Kubisch) ---------------------------------------------------------- -local ide = ide --- the preferences dialog - -preferencesDialog = { - category = {}; - uifactory = {}; -} -local cats = preferencesDialog.category - -local function checkstring (v,m) - if type(v)~="string" then - error(m.." ("..type(v)..")") - end -end - -function preferencesDialog.addCategory(category) - checkstring(category.title,"Invalid category title") - checkstring(category.category,"No category") - assert(not cats[category.category],"Category already declared") - cats[category.category] = category - cats[#cats+1] = category - category.order = category.order or #cats - category.entry = {} -end - -function preferencesDialog.addPage(page) - assert(page.category and cats[page.category],"Invalid category given") - checkstring(page.title,"Invalid title") - local c = cats[page.category] - c.entry[#c.entry+1] = page - page.order = page.order or #c.entry -end - -function preferencesDialog.uifactory.space(page,layout,element) - layout.currentx = layout.currentx + element.space - return layout -end -function preferencesDialog.uifactory.group(page,layout,element) - local margin = element.margin or 6 - local nl = { - currentx = margin; - currenty = margin+ (element.title and 12 or 8); - maxsizex = 0; - maxsizey = 0; - minwidth = element.minwidth or 0; - minheight = element.minheight or 0; - margin = margin; - layout = layout; - parent = wx.wxStaticBox(layout.parent,wx.wxID_ANY,element.title or "", - wx.wxPoint(layout.currentx,layout.currenty), - wx.wxDefaultSize, element.borderstyle and wx["wxBORDER_"..element.borderstyle:upper()] or 0); - } - return nl -end -function preferencesDialog.uifactory.finishgroup(page,layout,element) - local l = layout.layout - layout.maxsizex = math.max(layout.minwidth,layout.maxsizex + layout.margin) - layout.maxsizey = math.max(layout.minheight,layout.maxsizey + layout.margin) - l.maxsizey = math.max(l.maxsizey,layout.maxsizey+l.currenty) - l.currentx = l.currentx + layout.maxsizex - l.maxsizex = math.max(l.maxsizex,l.currentx) - layout.parent:SetSize(wx.wxSize(layout.maxsizex,layout.maxsizey)) - return l -end - -local function pos(layout) return layout.currentx,layout.currenty end -local function fitin(el,layout) - local x,y = pos(layout) - local sz = el:GetBestFittingSize() - el:SetSize(sz) - layout.maxsizex = math.max(x+sz:GetWidth(),layout.maxsizex) - layout.maxsizey = math.max(y+sz:GetHeight(),layout.maxsizey) - layout.currentx = x+sz:GetWidth() - return layout -end - -function preferencesDialog.uifactory.combobox(page,layout,element,value) - local x,y = pos(layout) - local id = ID("view.preferences.dialog.page."..page.title.."."..element.name) - local cbox = wx.wxComboBox(layout.parent,id,"",wx.wxPoint(x,y-4),wx.wxDefaultSize, - wx.wxArrayString(),wx.wxCB_READONLY) - - if value then - for i=1,#value do - cbox:Append(value[i]) - end - end - - return fitin(cbox,layout) -end - -function preferencesDialog.uifactory.dirpicker(page,layout,element,value) - local x,y = pos(layout) - local id = ID("view.preferences.dialog.page."..page.title.."."..element.name) - local picker = wx.wxDirPickerCtrl(layout.parent,id,value or "",element.title or "",wx.wxPoint(x,y-4)) - return fitin(picker,layout) -end - -function preferencesDialog.uifactory.edit (page,layout,element,value) - local x,y = pos(layout) - local id = ID("view.preferences.dialog.page."..page.title.."."..element.name) - local edit = wx.wxTextCtrl(layout.parent,id,value or (""..x..","..y), wx.wxPoint(x,y-4)) - return fitin(edit,layout) -end - -function preferencesDialog.uifactory.linebreak(page,layout,element) - layout.currentx = layout.margin or 0 - layout.currenty = layout.maxsizey + (element.space or 0) - return layout -end -function preferencesDialog.uifactory.checkbox (page,layout,element, value) - local x,y = pos(layout) - local id = ID("view.preferences.dialog.page."..page.title.."."..element.name) - local cbox = wx.wxCheckBox(layout.parent,id,element.title,wx.wxPoint(x,y)) - if value then cbox:SetValue(value) end - return fitin(cbox,layout) -end -function preferencesDialog.uifactory.static(page,layout,element) - local x,y = pos(layout) - local static = wx.wxStaticText(layout.parent,wx.wxID_ANY,element.title,wx.wxPoint(x,y)) - return fitin(static,layout) -end - -function preferencesDialog.uifactory.space(page,layout,element) - layout.currentx = layout.currentx + element.space - return layout -end -function preferencesDialog.uifactory.group(page,layout,element) - local margin = element.margin or 6 - local nl = { - currentx = margin; - currenty = margin+ (element.title and 12 or 8); - maxsizex = 0; - maxsizey = 0; - minwidth = element.minwidth or 0; - minheight = element.minheight or 0; - margin = margin; - layout = layout; - parent = wx.wxStaticBox(layout.parent,wx.wxID_ANY,element.title or "", - wx.wxPoint(layout.currentx,layout.currenty), - wx.wxDefaultSize, element.borderstyle and wx["wxBORDER_"..element.borderstyle:upper()] or 0); - } - return nl -end -function preferencesDialog.uifactory.finishgroup(page,layout,element) - local l = layout.layout - layout.maxsizex = math.max(layout.minwidth,layout.maxsizex + layout.margin) - layout.maxsizey = math.max(layout.minheight,layout.maxsizey + layout.margin) - l.maxsizey = math.max(l.maxsizey,layout.maxsizey+l.currenty) - l.currentx = l.currentx + layout.maxsizex - l.maxsizex = math.max(l.maxsizex,l.currentx) - layout.parent:SetSize(wx.wxSize(layout.maxsizex,layout.maxsizey)) - return l -end -function preferencesDialog.uifactory.linebreak(page,layout,element) - layout.currentx = layout.margin or 0 - layout.currenty = layout.maxsizey + (element.space or 0) - return layout -end -function preferencesDialog.uifactory.checkbox (page,layout,element, value) - local x,y = layout.currentx,layout.currenty - local id = ID("view.preferences.dialog.page."..page.title.."."..element.name) - local cbox = wx.wxCheckBox(layout.parent,id,element.title,wx.wxPoint(x,y)) - local sz = cbox:GetBestFittingSize() - cbox:SetSize(sz) - layout.maxsizex = math.max(x+sz:GetWidth(),layout.maxsizex) - layout.maxsizey = math.max(y+sz:GetHeight(),layout.maxsizey) - layout.currentx = layout.maxsizex - if value then cbox:SetValue(value) end - return layout -end -function preferencesDialog.uifactory.static(page,layout,element) - local x,y = layout.currentx,layout.currenty - local static = wx.wxStaticText(layout.parent,wx.wxID_ANY,element.title,wx.wxPoint(x,y)) - local sz = static:GetBestFittingSize() - static:SetSize(sz) - layout.maxsizex = math.max(x+sz:GetWidth(),layout.maxsizex) - layout.maxsizey = math.max(y+sz:GetHeight(),layout.maxsizey) - layout.currentx = layout.maxsizex - - return layout -end - -local function showpage(panel,page) - --TODO: layout the page, load values, etc - local data = page.onload() - local layout = page.layout - local layoutdata = { - currentx = 0; - currenty = 0; - maxsizex = 0; - maxsizey = 0; - parent = panel; - } - for i,el in ipairs(layout) do - assert(preferencesDialog.uifactory[el.type],"Unknown ui type type") - layoutdata = assert( - preferencesDialog.uifactory[el.type](page,layoutdata,el,data[el.name]) - ) - end - panel:SetSize(layoutdata.maxsizex,layoutdata.maxsizey) - --print(layoutdata.maxsizex,layoutdata.maxsizey) -end - -function preferencesDialog.show(event) - local dialog = wx.wxDialog(ide.frame, ID "view.preferences.dialog","Preferences") - - local id_btn_ok = ID "view.preferences.dialog.button.ok" - local id_btn_cancel = ID "view.preferences.dialog.button.cancel" - local id_btn_apply = ID "view.preferences.dialog.button.apply" - - local panel_buttons = wx.wxPanel(dialog,ID "view.preferences.dialog.buttonpanel") - local btn_ok = wx.wxButton(panel_buttons,id_btn_ok, "OK") - local btn_cancel = wx.wxButton(panel_buttons,id_btn_cancel, "Cancel") - local btn_apply = wx.wxButton(panel_buttons,id_btn_apply, "Apply") - - dialog:Connect(id_btn_cancel, wx.wxEVT_COMMAND_BUTTON_CLICKED, - function (event) - dialog:EndModal(0) - end) - dialog:Connect(id_btn_ok, wx.wxEVT_COMMAND_BUTTON_CLICKED, - function (event) - dialog:EndModal(0) - end) - - local panel = wx.wxPanel(dialog,ID "view.preferences.dialog.panel", - wx.wxDefaultPosition, wx.wxSize(600,400)) - - local projtree = wx.wxTreeCtrl(panel, ID "view.preferences.dialog.panel.tree", - wx.wxDefaultPosition, wx.wxSize(180,400), - wx.wxTR_HAS_BUTTONS + wx.wxTR_SINGLE + wx.wxTR_HIDE_ROOT) - local preferencesPage = wx.wxPanel(panel,ID "view.preferences.dialog.page", - wx.wxDefaultPosition, wx.wxSize(500,400)) - local panelsizer = wx.wxBoxSizer(wx.wxHORIZONTAL) - panelsizer:Add(projtree,0,wx.wxALL + wx.wxALIGN_LEFT + wx.wxTOP + wx.wxBOTTOM,0) - panelsizer:AddSpacer(5) - panelsizer:Add(preferencesPage) - panel:SetSizer(panelsizer) - - local treecats = {} - local catdata = {} - table.sort(cats,function(a,b) return a.order < b.order end) - local rootit = projtree:AddRoot("") - - catdata[rootit:GetValue()] = {category = "root", children = treecats} - for i=1,#cats do - local it = projtree:AppendItem(rootit,cats[i].title) - treecats[i] = it - local c = cats[i] - local children = {} - catdata[it:GetValue()] = {category = c,children = children} - for i=1,#c.entry do - local e = c.entry[i] - local it = projtree:AppendItem(it,e.title) - catdata[it:GetValue()] = {page = e} - children[i] = it - end - projtree:Expand(it) - end - - projtree:Expand(rootit) - - local preferencesContent - projtree:Connect( wx.wxEVT_COMMAND_TREE_SEL_CHANGED, - function( event ) - local item_id = event:GetItem():GetValue() - local data = catdata[item_id] - if data.category then - if data.children[1] then - projtree:SelectItem(data.children[1]) - end - else - if preferencesContent then - preferencesPage:RemoveChild(preferencesContent) - end - preferencesContent = wx.wxPanel(preferencesPage,wx.wxID_ANY) - - showpage(preferencesContent,data.page) - end - end ) - - local topsizer = wx.wxBoxSizer(wx.wxVERTICAL) - topsizer:Add(panel,0,wx.wxALL + wx.wxALIGN_CENTER,10) - topsizer:Add(wx.wxStaticLine(dialog, wx.wxID_ANY), 0, wx.wxEXPAND + wx.wxLEFT + wx.wxRIGHT, 10) - topsizer:Add(panel_buttons, 0, wx.wxALL + wx.wxALIGN_RIGHT, 10) - - local buttonpanelsizer = wx.wxBoxSizer(wx.wxHORIZONTAL) - buttonpanelsizer:Add(btn_cancel,0,wx.wxALL + wx.wxALIGN_RIGHT,0) - buttonpanelsizer:AddSpacer(5) - buttonpanelsizer:Add(btn_apply,0,wx.wxALL + wx.wxALIGN_RIGHT,0) - buttonpanelsizer:AddSpacer(5) - buttonpanelsizer:Add(btn_ok,0,wx.wxALL + wx.wxALIGN_RIGHT,0) - panel_buttons:SetSizer(buttonpanelsizer) - buttonpanelsizer:Fit(panel_buttons) - - dialog:SetAutoLayout(true) - dialog:SetSizer(topsizer) - topsizer:Fit(dialog) - dialog:Center() - dialog:ShowModal() -end diff --git a/src/main.lua b/src/main.lua index 287b54993b..aefdf9eb4d 100644 --- a/src/main.lua +++ b/src/main.lua @@ -21,7 +21,7 @@ package.path = 'lualibs/?.lua;lualibs/?/?.lua;lualibs/?/init.lua;lualibs/?/?/?. require("wx") require("bit") -dofile "src/misc/util.lua" +dofile "src/util.lua" ----------- -- IDE @@ -367,7 +367,7 @@ end for _, file in ipairs({ "markup", "settings", "singleinstance", "iofilters", - "gui", "filetree", "output", "debugger", "preferences", + "gui", "filetree", "output", "debugger", "editor", "findreplace", "commands", "autocomplete", "shellbox", "menu_file", "menu_edit", "menu_search", "menu_view", "menu_project", "menu_tools", "menu_help", @@ -375,8 +375,6 @@ for _, file in ipairs({ dofile("src/editor/"..file..".lua") end -dofile "src/preferences/editor.lua" -dofile "src/preferences/project.lua" dofile "src/version.lua" -- load rest of settings diff --git a/src/preferences/editor.lua b/src/preferences/editor.lua deleted file mode 100644 index 0cba26cbd8..0000000000 --- a/src/preferences/editor.lua +++ /dev/null @@ -1,23 +0,0 @@ --- authors: Luxinia Dev (Eike Decker & Christoph Kubisch) ---------------------------------------------------------- - -preferencesDialog.addCategory { - category = "editor"; - title = "Editor"; -} - -preferencesDialog.addPage { - title = "Basic preferences"; - category = "editor"; - layout = { - {type = 'group',title="Sessions"; minheight = 100; minwidth = 100}; - {type = "checkbox"; title = "Reopen files";name = 'session_restore'}; - {type = 'finishgroup'}; - {type = 'space'; space = 4}; - }; - onload = function () - return {testbox = true} - end; - onsave = function (values) - end -} diff --git a/src/preferences/project.lua b/src/preferences/project.lua deleted file mode 100644 index 8b10f853fb..0000000000 --- a/src/preferences/project.lua +++ /dev/null @@ -1,37 +0,0 @@ --- authors: Luxinia Dev (Eike Decker & Christoph Kubisch) ---------------------------------------------------------- - -preferencesDialog.addCategory { - category = "project"; - title = "Project"; -} - -preferencesDialog.addPage { - title = "Project settings"; - category = "project"; - layout = { - {type = 'group',title="Visible menus"; minheight = 100; minwidth = 100}; - {type = "checkbox"; title = "Tools";name = 'tools'}; - {type = 'linebreak'; space = 4}; - {type = "checkbox"; title = "Help";name = 'help'}; - {type = 'linebreak'; space = 4}; - --{type='static'; title = "foo"}; - {type = 'finishgroup'}; - {type = "space"; space = 4}; - {type = 'group',title="Interpreter"; minheight = 100; minwidth = 100}; - {type = "static"; title = "Interpreter"}; - {type = "space"; space = 4}; - {type = "combobox"; name = "interpreterlist"}; - {type = 'linebreak'; space = 4}; - {type = "static";title = "Working directory"}; - {type = "dirpicker"; name = "workingdir", title='Working directory'}; - {type = 'linebreak'; space = 4}; - {type = "static"; title = "Argument"}; - {type = "edit"; name = "argument"}; - {type = 'finishgroup'}; - }; - onload = function () return { - interpreterlist = {"1","2"} - } end; - onsave = function (values) end; -} diff --git a/src/misc/util.lua b/src/util.lua similarity index 100% rename from src/misc/util.lua rename to src/util.lua diff --git a/zbstudio/MANIFEST b/zbstudio/MANIFEST index c80706e879..aa54983020 100644 --- a/zbstudio/MANIFEST +++ b/zbstudio/MANIFEST @@ -71,15 +71,12 @@ src/editor/menu_search.lua src/editor/menu_tools.lua src/editor/menu_view.lua src/editor/output.lua -src/editor/preferences.lua src/editor/settings.lua src/editor/shellbox.lua src/editor/singleinstance.lua src/editor/style.lua src/main.lua -src/misc/util.lua -src/preferences/editor.lua -src/preferences/project.lua +src/util.lua src/version.lua tools/*.lua zbstudio/app.lua