/* * private IWrappedObjectWithText RibbonCount(string val) * { * RibbonTabWrapper tab = lribbon.SelectedTab; * // tabcount = tab.; * * RibbonGroupWrapper group = tab.Groups[2]; * throw new NotImplementedException("The ribbon value does not exist."); * } */ #region GetProperty public override string getProperty(string name, string key) { switch (name.ToLower()) { case "text": case "value": RibbonTabWrapper selectedTab = lribbon.SelectedTab; if (selectedTab == null) { return(String.Empty); } return(selectedTab.Text); case "enabled": if (String.IsNullOrEmpty(key)) { return(base.getProperty(name, key)); } else { IWrappedObjectWithText item = FindItem(key); if (item is RibbonItemWrapper) { return((item as RibbonItemWrapper).Enabled.ToString()); } throw new NotSupportedException("The given item has no Enabled property."); } case "enabledandclick": if (String.IsNullOrEmpty(key)) { return(base.getProperty(name, key)); } else { IWrappedObjectWithText item = FindItem(key); if (item is RibbonItemWrapper) { bool enabled = (item as RibbonItemWrapper).Enabled; if (enabled && item is IClickableRibbonItem) { (item as IClickableRibbonItem).Click(); } return(enabled.ToString()); } throw new NotSupportedException("The given item has no Enabled property."); } } return(base.getProperty(name, key)); }
public override string setValue(string val, string steering) { #region IsOptional // wian 20130829 // hier soll abgefangen werden, ob im String von val ".Optional=" enthalten ist // damit soll abgefragt werden, ob man schon in der *AUSWAHL ist oder nicht // wenn ja, müsste die Ribbon Auswahl nicht mehr betätigt werden, // ansonsten wird Ribbon Auswahl ausgeführt if (val.ToLower().StartsWith(".optional=")) { lbaseGlobals.isOptional = true; Logger.Instance.Log(this, "Es wird optional abgefragt, ob das Ribbon aufgerufen werden muss: " + val); // hier fragen, ob in ÜBERSICHT IWrappedObjectWithText itemAuswahl = FindItem("*ÜBERSICHT"); if (itemAuswahl == null) // ÜBERSICHT nicht gefunden, daher itemAuswahl auf null - wir sind womöglich schon in Auswahl { lbaseGlobals.isOptional = false; return(ReturnOK); // na dann, tschüss mit OK, also kein Fehler und keine weitere Verarbeitung } // wenn aber Übersicht gefunden, dann val ohne .Optional= if (itemAuswahl.Text.Substring(itemAuswahl.Text.Length - 9, 9) == "ÜBERSICHT") { // wenn ja, Ribbon Aufruf durchführen // val = val.Substring(10, (val.Length - 10)); val = val.ToLower().Remove(0, ((string)".optional=").Length); lbaseGlobals.isOptional = false; itemAuswahl = null; } /* * else * { * // wenn nicht, Ribbon Aufruf abbrechen, da eh schon in AUSWAHL * // ignore und raus aus dem Haus * } */ lbaseGlobals.isOptional = false; } #endregion IsOptional #region IsEnabled // Ribbon, das aufgerufen werden soll auf enabled abfragen // .enabled=LBASE AUFTRAGSBEARBEITUNG if (val.ToLower().StartsWith(".enabled")) // ab Null zählen beginnen { // val ohne .enabled val = val.ToLower().Remove(0, ((string)".enabled").Length); if (val.StartsWith("!=")) { lbaseGlobals.CheckEnabled = true; rAskEnabled = false; val = val.ToLower().Remove(0, ((string)"!=").Length); } if (val.StartsWith("=")) { lbaseGlobals.CheckEnabled = true; rAskEnabled = true; val = val.ToLower().Remove(0, ((string)"=").Length); } } else { lbaseGlobals.CheckEnabled = false; } #endregion IsEnabled #region ListAllRibbons // alle Ribbons der aktuellen Maske auflisten if (val.ToLower().StartsWith(".listallribbons=")) // Soll sich alle Ribbons der Maske merken { lbaseGlobals.isListallribbons = true; val = val.ToLower().Remove(0, ((string)".listallribbons=").Length); // Dateiname anlegen // ModulfileName = ModulfileName + "TEST - ÜBERSICHT->Test 1->Test - 2->Test->test mich fertig"; ModulfileName = ModulfileName + val.ToUpper().Replace("->", "-").Replace(" - ", "_-_"); // Datei anlegen ModulFile = ModulPath + "\\" + ModulfileName + ".txt"; Logger.Instance.Log("Datei für listallribbons: " + ModulFile); } #endregion ListAllRibbons #region TryFindItem try { IWrappedObjectWithText item = FindItem(val); if (item is IClickableRibbonItem) { #region IsEnabled if (lbaseGlobals.CheckEnabled) // wenn .enabled=, dann nur auf Item.Enabled prüfen und raus { // lbaseGlobals.CheckEnabled = ((RibbonItemWrapper)item).Enabled; if (((RibbonItemWrapper)item).Enabled) { if (rAskEnabled) { Logger.Instance.Log("Das RibbonItem " + item.Text + " ist enabled."); return(ReturnOK); } if (!rAskEnabled) // ich frage, ob es disabled ist - wenn disabled: OK, wenn enabled, Fehler { // ich frage, ob es disabled ist - wenn enabled: FEHLER Logger.Instance.Log("Das RibbonItem " + item.Text + " ist enabled, erwartet wurde disabled."); // throw Exception throw new NotEnabledException("Das RibbonItem >" + item.Text + "< ist enabled, erwartet wurde disabled."); } } else { if (!rAskEnabled) // ich frage, ob es disabled ist - wenn disabled: OK { Logger.Instance.Log("OK: Das RibbonItem " + item.Text + " ist nicht enabled."); return(ReturnOK); } if (rAskEnabled) { Logger.Instance.Log("Das RibbonItem " + item.Text + " ist disabled!"); throw new NotEnabledException("Das RibbonItem >" + item.Text + "< ist disabled!"); } } // ReflectionHelper.ReflectionHelper.SetField( } #endregion IsEnabled (item as IClickableRibbonItem).Click(); Logger.CloseLogger(); } return(ReturnOK); } #endregion TryFindItem catch (NotSupportedException nse) { return(nse.Message); } catch (NotEnabledException nee) { return(nee.Message); } catch (ItemNotFoundException infe) { return(infe.Message); } catch (ListallRibbonsException lare) { return(lare.Message); } }