public void LoadSlicePresets(string make, string model, string tag) { foreach (string filePath in GetSlicePresets(make, model, tag)) { SliceSettingsCollection collection = null; Dictionary <string, string> settingsDict = LoadSliceSettingsFromFile(filePath); if (settingsDict.Count > 0) { collection = new DataStorage.SliceSettingsCollection(); collection.Name = Path.GetFileNameWithoutExtension(filePath); collection.PrinterId = ActivePrinter.Id; collection.Tag = tag; collection.Commit(); if (tag == "material" && defaultMaterialPreset != null && collection.Name == defaultMaterialPreset) { ActivePrinter.MaterialCollectionIds = collection.Id.ToString(); ActivePrinter.Commit(); } else if (tag == "quality" && defaultQualityPreset != null && collection.Name == defaultQualityPreset) { ActivePrinter.QualityCollectionId = collection.Id; ActivePrinter.Commit(); } CommitSliceSettings(settingsDict, collection.Id); } } }
private void LoadDefaultConfigrationSettings() { string slic3rDefaultConfigurationPathAndFile = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "PrinterSettings", "config.ini"); DataStorage.SliceSettingsCollection defaultCollection = new DataStorage.SliceSettingsCollection(); defaultCollection.Name = "__default__"; SettingsLayer defaultSettingsLayer = LoadConfigurationSettingsFromFile(slic3rDefaultConfigurationPathAndFile, defaultCollection); this.activeSettingsLayers.Add(defaultSettingsLayer); }
private SettingsLayer LoadConfigurationSettingsFromDatastore(DataStorage.SliceSettingsCollection collection) { Dictionary <string, DataStorage.SliceSetting> settingsDictionary = new Dictionary <string, DataStorage.SliceSetting>(); IEnumerable <DataStorage.SliceSetting> settingsList = GetCollectionSettings(collection.Id); foreach (DataStorage.SliceSetting s in settingsList) { settingsDictionary[s.Name] = s; } SettingsLayer settingsLayer = new SettingsLayer(collection, settingsDictionary); return(settingsLayer); }
public SliceSettingsCollection LoadDefaultSliceSettings(string make, string model) { SliceSettingsCollection collection = null; Dictionary <string, string> settingsDict = LoadSliceSettingsFromFile(Path.Combine("PrinterSettings", make, model, "config.ini")); if (settingsDict.Count > 0) { collection = new DataStorage.SliceSettingsCollection(); collection.Name = this.ActivePrinter.Name; collection.Commit(); this.ActivePrinter.DefaultSettingsCollectionId = collection.Id; CommitSliceSettings(settingsDict, collection.Id); } return(collection); }
public void LoadPrinterConfigurationSettings() { if (PrinterCommunication.Instance.ActivePrinter != null) { DataStorage.SliceSettingsCollection collection; if (PrinterCommunication.Instance.ActivePrinter.DefaultSettingsCollectionId != 0) { int activePrinterSettingsID = PrinterCommunication.Instance.ActivePrinter.DefaultSettingsCollectionId; collection = DataStorage.Datastore.Instance.dbSQLite.Table <DataStorage.SliceSettingsCollection>().Where(v => v.Id == activePrinterSettingsID).Take(1).FirstOrDefault(); } else { collection = new DataStorage.SliceSettingsCollection(); collection.Name = PrinterCommunication.Instance.ActivePrinter.Name; collection.Commit(); PrinterCommunication.Instance.ActivePrinter.DefaultSettingsCollectionId = collection.Id; PrinterCommunication.Instance.ActivePrinter.Commit(); } SettingsLayer printerSettingsLayer = LoadConfigurationSettingsFromDatastore(collection); this.activeSettingsLayers.Add(printerSettingsLayer); } }
public SettingsLayer(DataStorage.SliceSettingsCollection settingsCollection, Dictionary <string, DataStorage.SliceSetting> settingsDictionary) { this.settingsCollectionData = settingsCollection; this.settingsDictionary = settingsDictionary; }
private void onPresetLoad(OpenFileDialogParams openParams) { if (openParams.FileNames != null) { SliceSettingsCollection settingsCollection; try { if (File.Exists(openParams.FileName)) { // TODO: Review bindings to int printerID int printerID; int.TryParse(ActiveSliceSettings.Instance.Id, out printerID); //Create collection to hold preset settings settingsCollection = new SliceSettingsCollection(); settingsCollection.Tag = windowController.filterTag; settingsCollection.PrinterId = printerID; settingsCollection.Name = System.IO.Path.GetFileNameWithoutExtension(openParams.FileName); settingsCollection.Commit(); string[] lines = System.IO.File.ReadAllLines(openParams.FileName); foreach (string line in lines) { //Ignore commented lines if (!line.StartsWith("#")) { string[] settingLine = line.Split('='); string keyName = settingLine[0].Trim(); string settingDefaultValue = settingLine[1].Trim(); //To do - validate imported settings as valid (KP) SliceSetting sliceSetting = new SliceSetting(); sliceSetting.Name = keyName; sliceSetting.Value = settingDefaultValue; sliceSetting.SettingsCollectionId = settingsCollection.Id; sliceSetting.Commit(); } } windowController.ChangeToSlicePresetList(); } } catch (Exception) { // Error loading configuration } } }
public void LoadSlicePresets(string make, string model, string tag) { foreach (string filePath in GetSlicePresets(make, model, tag)) { SliceSettingsCollection collection = null; Dictionary<string, string> settingsDict = LoadSliceSettingsFromFile(filePath); if (settingsDict.Count > 0) { collection = new DataStorage.SliceSettingsCollection(); collection.Name = Path.GetFileNameWithoutExtension(filePath); collection.PrinterId = ActivePrinter.Id; collection.Tag = tag; collection.Commit(); if (tag == "material" && defaultMaterialPreset != null && collection.Name == defaultMaterialPreset) { ActivePrinter.MaterialCollectionIds = collection.Id.ToString(); ActivePrinter.Commit(); } else if (tag == "quality" && defaultQualityPreset != null && collection.Name == defaultQualityPreset) { ActivePrinter.QualityCollectionId = collection.Id; ActivePrinter.Commit(); } CommitSliceSettings(settingsDict, collection.Id); } } }
private static Dictionary<string, string> LoadSettings(SliceSettingsCollection collection) { var settings = Datastore.Instance.dbSQLite.Query<SliceSetting>( string.Format("SELECT * FROM SliceSetting WHERE SettingsCollectionID = " + collection.Id)); //return settings.ToDictionary(s => s.Name, s => s.Value); var dictionary = new Dictionary<string, string>(); foreach(var setting in settings) { // Not distinct on .Name; last value wins dictionary[setting.Name] = setting.Value; } return dictionary; }
public static Dictionary<string, string> LoadOemLayer(Printer printer) { SliceSettingsCollection collection; if (printer.DefaultSettingsCollectionId != 0) { int activePrinterSettingsID = printer.DefaultSettingsCollectionId; collection = Datastore.Instance.dbSQLite.Table<SliceSettingsCollection>().Where(v => v.Id == activePrinterSettingsID).Take(1).FirstOrDefault(); } else { collection = new SliceSettingsCollection(); collection.Name = printer.Name; collection.Commit(); printer.DefaultSettingsCollectionId = collection.Id; } return LoadSettings(collection); }
private void duplicatePresets_Click(object sender, EventArgs mouseEvent) { UiThread.RunOnIdle(() => { DataStorage.SliceSettingsCollection duplicateCollection = new SliceSettingsCollection(); duplicateCollection.Name = string.Format("{0} (copy)".FormatWith(windowController.ActivePresetLayer.settingsCollectionData.Name)); duplicateCollection.Tag = windowController.ActivePresetLayer.settingsCollectionData.Tag; duplicateCollection.PrinterId = windowController.ActivePresetLayer.settingsCollectionData.PrinterId; Dictionary<string, DataStorage.SliceSetting> settingsDictionary = new Dictionary<string, DataStorage.SliceSetting>(); IEnumerable<DataStorage.SliceSetting> settingsList = this.windowController.GetCollectionSettings(windowController.ActivePresetLayer.settingsCollectionData.Id); foreach (DataStorage.SliceSetting s in settingsList) { DataStorage.SliceSetting newSetting = new DataStorage.SliceSetting(); newSetting.Name = s.Name; newSetting.Value = s.Value; settingsDictionary.Add(s.Name, newSetting); } SettingsLayer duplicateLayer = new SettingsLayer(duplicateCollection, settingsDictionary); windowController.ActivePresetLayer = duplicateLayer; windowController.ChangeToSlicePresetDetail(); }); }
public void ChangeToSlicePresetDetail(SliceSettingsCollection collection = null) { if (collection != null) { Dictionary<string, SliceSetting> settingsDictionary = new Dictionary<string, SliceSetting>(); foreach (SliceSetting s in GetCollectionSettings(collection.Id)) { settingsDictionary[s.Name] = s; } this.ActivePresetLayer = new ClassicSqlitePrinterProfiles.ClassicSettingsLayer(collection, settingsDictionary); } UiThread.RunOnIdle(DoChangeToSlicePresetDetail); }
private void initSlicePreset() { int noExistingPresets = ExistingPresetsCount() + 1; Dictionary<string, SliceSetting> settingsDictionary = new Dictionary<string, SliceSetting>(); SliceSettingsCollection collection = new SliceSettingsCollection(); if (ActiveSliceSettings.Instance != null) { // TODO: Review bindings to int printerID int printerID; int.TryParse(ActiveSliceSettings.Instance.Id, out printerID); collection.Name = string.Format("{0} ({1})", windowController.filterLabel, noExistingPresets.ToString()); collection.Tag = windowController.filterTag; collection.PrinterId = printerID; } windowController.ActivePresetLayer = new ClassicSqlitePrinterProfiles.ClassicSettingsLayer(collection, settingsDictionary); }
public PresetListItem(SlicePresetsWindow windowController, SliceSettingsCollection preset) { this.preset = preset; this.BackgroundColor = RGBA_Bytes.White; this.HAnchor = HAnchor.ParentLeftRight; this.Margin = new BorderDouble(6, 0, 6, 3); this.Padding = new BorderDouble(3); LinkButtonFactory linkButtonFactory = new LinkButtonFactory(); linkButtonFactory.fontSize = 10; int maxLabelWidth = 300; TextWidget materialLabel = new TextWidget(preset.Name, pointSize: 14); materialLabel.EllipsisIfClipped = true; materialLabel.VAnchor = Agg.UI.VAnchor.ParentCenter; materialLabel.MinimumSize = new Vector2(maxLabelWidth, materialLabel.Height); materialLabel.Width = maxLabelWidth; Button materialEditLink = linkButtonFactory.Generate("edit"); materialEditLink.VAnchor = Agg.UI.VAnchor.ParentCenter; materialEditLink.Click += (sender, e) => { UiThread.RunOnIdle(() => { windowController.ChangeToSlicePresetDetail(preset); }); }; Button materialRemoveLink = linkButtonFactory.Generate("remove"); materialRemoveLink.Margin = new BorderDouble(left: 4); this.DebugShowBounds = true; materialRemoveLink.VAnchor = Agg.UI.VAnchor.ParentCenter; materialRemoveLink.Click += (sender, e) => { UiThread.RunOnIdle(() => { //Unwind this setting if it is currently active if (ActiveSliceSettings.Instance != null) { /* if (preset.Id == ActivePrinterProfile.Instance.ActiveQualitySettingsID) { ActivePrinterProfile.Instance.ActiveQualitySettingsID = 0; } string[] activeMaterialPresets = ActiveSliceSettings.Instance.MaterialCollectionIds.Split(','); for (int i = 0; i < activeMaterialPresets.Count(); i++) { int index = 0; Int32.TryParse(activeMaterialPresets[i], out index); if (preset.Id == index) { ActiveSliceSettings.Instance.SetMaterialPreset(i, ""); } } */ } preset.Delete(); windowController.ChangeToSlicePresetList(); ApplicationController.Instance.ReloadAdvancedControlsPanel(); }); }; this.AddChild(materialLabel); this.AddChild(new HorizontalSpacer()); this.AddChild(materialEditLink); this.AddChild(materialRemoveLink); this.Height = 35; }
public SettingsLayer LoadConfigurationSettingsFromFile(string pathAndFileName, DataStorage.SliceSettingsCollection collection) { Dictionary <string, DataStorage.SliceSetting> settingsDictionary = new Dictionary <string, DataStorage.SliceSetting>(); SettingsLayer activeCollection; try { if (File.Exists(pathAndFileName)) { string[] lines = System.IO.File.ReadAllLines(pathAndFileName); foreach (string line in lines) { //Ignore commented lines if (!line.StartsWith("#")) { string[] settingLine = line.Split('='); string keyName = settingLine[0].Trim(); string settingDefaultValue = settingLine[1].Trim(); DataStorage.SliceSetting sliceSetting = new DataStorage.SliceSetting(); sliceSetting.Name = keyName; sliceSetting.Value = settingDefaultValue; settingsDictionary.Add(keyName, sliceSetting); } } activeCollection = new SettingsLayer(collection, settingsDictionary); return(activeCollection); } return(null); } catch (Exception e) { Debug.WriteLine(string.Format("Error loading configuration: {0}", e)); return(null); } }
public SliceSettingsCollection LoadDefaultSliceSettings(string make, string model) { SliceSettingsCollection collection = null; Dictionary<string, string> settingsDict = LoadSliceSettingsFromFile(Path.Combine("PrinterSettings", make, model, "config.ini")); if (settingsDict.Count > 0) { collection = new DataStorage.SliceSettingsCollection(); collection.Name = this.ActivePrinter.Name; collection.Commit(); this.ActivePrinter.DefaultSettingsCollectionId = collection.Id; CommitSliceSettings(settingsDict, collection.Id); } return collection; }
private static void LoadDefaultConfigrationSettings(List<ClassicSettingsLayer> settings) { SliceSettingsCollection defaultCollection = new SliceSettingsCollection(); defaultCollection.Name = "__default__"; ClassicSettingsLayer defaultSettingsLayer = LoadConfigurationSettingsFromFile(Path.Combine("PrinterSettings", "config.ini"), defaultCollection); settings.Add(defaultSettingsLayer); }
private static ClassicSettingsLayer LoadConfigurationSettingsFromFile(string pathAndFileName, SliceSettingsCollection collection) { Dictionary<string, SliceSetting> settingsDictionary = new Dictionary<string, SliceSetting>(); ClassicSettingsLayer activeCollection; try { if (StaticData.Instance.FileExists(pathAndFileName)) { foreach (string line in StaticData.Instance.ReadAllLines(pathAndFileName)) { //Ignore commented lines if (!line.StartsWith("#")) { string[] settingLine = line.Split('='); string keyName = settingLine[0].Trim(); string settingDefaultValue = settingLine[1].Trim(); SliceSetting sliceSetting = new SliceSetting(); sliceSetting.Name = keyName; sliceSetting.Value = settingDefaultValue; settingsDictionary.Add(keyName, sliceSetting); } } activeCollection = new ClassicSettingsLayer(collection, settingsDictionary); return activeCollection; } return null; } catch (Exception e) { Debug.Print(e.Message); GuiWidget.BreakInDebugger(); Debug.WriteLine(string.Format("Error loading configuration: {0}", e)); return null; } }
public ClassicSettingsLayer(SliceSettingsCollection settingsCollection, Dictionary<string, SliceSetting> settingsDictionary) { this.settingsCollectionData = settingsCollection; this.settingsDictionary = settingsDictionary; }
public void ChangeToSlicePresetDetail(SliceSettingsCollection collection = null) { if (collection != null) { Dictionary<string, DataStorage.SliceSetting> settingsDictionary = new Dictionary<string, DataStorage.SliceSetting>(); IEnumerable<DataStorage.SliceSetting> settingsList = GetCollectionSettings(collection.Id); foreach (DataStorage.SliceSetting s in settingsList) { settingsDictionary[s.Name] = s; } this.ActivePresetLayer = new SettingsLayer(collection, settingsDictionary); } UiThread.RunOnIdle(DoChangeToSlicePresetDetail); }
void importPresetDo(object state) { OpenFileDialogParams openParams = new OpenFileDialogParams("Load Slice Preset|*.slice;*.ini"); openParams.ActionButtonLabel = "Load Slice Preset"; openParams.Title = "MatterControl: Select A File"; FileDialog.OpenFileDialog(ref openParams); if (openParams.FileNames != null) { DataStorage.SliceSettingsCollection settingsCollection; try { if (File.Exists(openParams.FileName)) { settingsCollection = new SliceSettingsCollection(); settingsCollection.Tag = windowController.filterTag; settingsCollection.PrinterId = ActivePrinterProfile.Instance.ActivePrinter.Id; settingsCollection.Name = System.IO.Path.GetFileNameWithoutExtension(openParams.FileName); settingsCollection.Commit(); string[] lines = System.IO.File.ReadAllLines(openParams.FileName); foreach (string line in lines) { //Ignore commented lines if (!line.StartsWith("#")) { string[] settingLine = line.Split('='); string keyName = settingLine[0].Trim(); string settingDefaultValue = settingLine[1].Trim(); DataStorage.SliceSetting sliceSetting = new DataStorage.SliceSetting(); sliceSetting.Name = keyName; sliceSetting.Value = settingDefaultValue; sliceSetting.SettingsCollectionId = settingsCollection.Id; sliceSetting.Commit(); } } windowController.ChangeToSlicePresetList(); } } catch (Exception e) { // Error loading configuration } } }