Example #1
0
        /*
         * 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));
        }
Example #2
0
        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);
            }
        }