public void AddActionCondition(ConditionGroup conditionGroup, ActionGroup actionGroup, bool readOnly) { if ((null == conditionGroup) || (null == actionGroup)) return; m_actionGroups.Add(new ActionConditionGroup(conditionGroup, actionGroup, readOnly)); }
// Use this for initialization public override void Awake() { base.Awake(); Actions = this.GetActions(); DelayedDispatch = DispatchOnFinish; Actions.IsEmpty(); //To avoid warning }
public Action[] GetActions(ActionGroup ag) { foreach (ActionGroupProperties p in ActionGroupsArray) if (p.ActionGroup == ag) return p.Actions; throw new System.ArgumentException("Action group not found.", "ag"); }
private void OnExtensionChanged(object o, ExtensionNodeEventArgs args) { try { TypeExtensionNode node = (TypeExtensionNode)args.ExtensionNode; if (args.Change == ExtensionChange.Add) { if (!extension_actions.ContainsKey(node.Id)) { ActionGroup group = (ActionGroup)node.CreateInstance(typeof(ActionGroup)); extension_actions[node.Id] = group; AddActionGroup(group); Log.DebugFormat("Extension actions loaded: {0}", group.Name); } } else if (args.Change == ExtensionChange.Remove) { if (extension_actions.ContainsKey(node.Id)) { string name = extension_actions[node.Id].Name; extension_actions[node.Id].Dispose(); extension_actions.Remove(node.Id); Log.DebugFormat("Extension actions unloaded: {0}", name); } } } catch (Exception e) { Log.Error(e); } }
// TODO later add option for max downloads / download directory /* * public override Widget GetConfigurationWidget() * { * return new PodcastConfigPage (); * } */ private void InstallInterfaceActions() { actions = new ActionGroup("Podcast"); // Pixbufs in 'PodcastPixbufs' should be registered with the StockManager and used here. actions.Add(new ActionEntry [] { new ActionEntry("PodcastAction", null, Catalog.GetString("Podcast"), null, Catalog.GetString("Manage the Podcast plugin"), null), new ActionEntry("PodcastUpdateFeedsAction", Stock.Refresh, Catalog.GetString("Update Feeds"), "<control><shift>U", Catalog.GetString("Update Subscribed Podcast Feeds"), OnPodcastUpdateFeedsHandler), new ActionEntry("PodcastSubscribeAction", Stock.New, Catalog.GetString("Subscribe to New Feed"), "<control>F", Catalog.GetString("Subscribe to New Podcast Feed"), OnPodcastSubscribeHandler), new ActionEntry("PodcastVisitPodcastAlleyAction", Stock.JumpTo, Catalog.GetString("Find New Podcasts"), "<control>P", Catalog.GetString("Find New Podcasts at PodcastAlley.com"), OnVisitPodcastAlleyHandler), }); Globals.ActionManager.UI.InsertActionGroup(actions, 0); ui_manager_id = Globals.ActionManager.UI.AddUiFromResource("PodcastMenu.xml"); }
private void InstallInterfaceActions() { actions = new ActionGroup("Mirage Playlist Generator"); actions.Add(new ActionEntry [] { new ActionEntry("MirageAction", null, AddinManager.CurrentLocalizer.GetString("Mirage Playlist Generator"), null, AddinManager.CurrentLocalizer.GetString("Manage the Mirage extension"), null), new ActionEntry("MirageRescanMusicAction", null, AddinManager.CurrentLocalizer.GetString("Rescan the Music Library"), null, AddinManager.CurrentLocalizer.GetString("Rescans the Music Library for new songs"), OnMirageRescanMusicHandler), new ActionEntry("MirageDuplicateSearchAction", null, AddinManager.CurrentLocalizer.GetString("Duplicate Search (Experimental)"), null, AddinManager.CurrentLocalizer.GetString("Searches your Music Library for possible duplicates"), OnMirageDuplicateSearchHandler), new ActionEntry("MirageResetAction", null, AddinManager.CurrentLocalizer.GetString("Reset Mirage"), null, AddinManager.CurrentLocalizer.GetString("Resets the Mirage Playlist Generation Plugin. " + "All songs have to be analyzed again to use Automatic Playlist Generation."), OnMirageResetHandler), }); action_service.UIManager.InsertActionGroup(actions, 0); uiManagerId = action_service.UIManager.AddUiFromResource("MirageMenu.xml"); }
public static ActionGroup BuildActionGroup(XmlNode node) { var name = node.Attributes["name"].Value; var description = node.Attributes["decription"]?.Value; var path = GeneratePath("library", "action_group", node.Attributes["src"].Value); var srcCode = ToCSCode(path); ActionGroup group = new ActionGroup(name, description); group.Script = CSharpScript.Create(srcCode, ScriptOptions.Default.WithReferences(typeof(Superpower).Assembly), typeof(Global)); foreach (XmlNode cmdComplex in node.ChildNodes) { switch (cmdComplex.Name) { case "ActionGroup": group.AddSubGroup(BuildActionGroup(cmdComplex)); break; case "Execution": group.AddAction(BuildExecution(cmdComplex, group)); break; case "Field": group.AddAction(BuildField(cmdComplex, group)); break; default: throw new InvalidOperationException($"\"{cmdComplex.Name}\" is bot a valid xml name"); } } return(group); }
private void AddMenuItems(UIManager uim) { ToggleActionEntry[] toggleActionEntries = new ToggleActionEntry[] { new ToggleActionEntry("StatusbarShowAction", null, Catalog.GetString("Show"), null, null, new EventHandler(OnStatusbarShow), false), new ToggleActionEntry("StatusbarOffsetAction", null, Catalog.GetString("Offset"), null, null, new EventHandler(OnStatusbarOffset), false), new ToggleActionEntry("StatusbarSelectionAction", null, Catalog.GetString("Selection"), null, null, new EventHandler(OnStatusbarSelection), false), new ToggleActionEntry("StatusbarOverwriteAction", null, Catalog.GetString("Overwrite"), null, null, new EventHandler(OnStatusbarOverwrite), false) }; ActionEntry[] actionEntries = new ActionEntry[] { new ActionEntry("Statusbar", null, Catalog.GetString("Statusbar"), null, null, null) }; ActionGroup group = new ActionGroup("StatusbarActions"); group.Add(toggleActionEntries); group.Add(actionEntries); uim.InsertActionGroup(group, 0); uim.AddUiFromString(uiXml); viewStatusbarShowMenuItem = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Show"); viewStatusbarOffsetMenuItem = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Offset"); viewStatusbarSelectionMenuItem = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Selection"); viewStatusbarOverwriteMenuItem = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Overwrite"); uim.EnsureUpdate(); }
public UIManager(Project project) { ActionEntry[] entries = new ActionEntry[] { new ActionEntry("FileMenu", null, Catalog.GetString("_File"), null, null, null), new ActionEntry("Open", Stock.Open, null, "<control>O", Catalog.GetString("Open a file"), OpenFile), new ActionEntry("RecentFiles", null, Catalog.GetString("Recent files"), null, null, null), new ActionEntry("Save", Stock.Save, null, "<control>S", Catalog.GetString("Save"), SaveFile), new ActionEntry("SaveAs", Stock.SaveAs, null, "<control><shift>S", Catalog.GetString("Save As"), SaveFileAs), new ActionEntry("ImportGlade", null, Catalog.GetString("_Import from Glade File..."), null, Catalog.GetString("Import UI from a Glade file"), ImportGlade), new ActionEntry("ExportGlade", null, Catalog.GetString("_Export to Glade File..."), null, Catalog.GetString("Export UI to a Glade file"), ExportGlade), new ActionEntry("Close", Stock.Close, null, "<control>W", Catalog.GetString("Close"), Close), new ActionEntry("Quit", Stock.Quit, null, "<control>Q", Catalog.GetString("Quit"), Quit), new ActionEntry("EditMenu", null, "_Edit", null, null, null), new ActionEntry("Undo", Stock.Undo, null, "<control>Z", Catalog.GetString("Undo previous action"), Undo), new ActionEntry("Redo", Stock.Redo, null, "<control><shift>Z", Catalog.GetString("Redo previously-undone action"), Redo), new ActionEntry("Cut", Stock.Cut, null, "<control>X", Catalog.GetString("Cut selection to clipboard"), Cut), new ActionEntry("Copy", Stock.Copy, null, "<control>C", Catalog.GetString("Copy selection to clipboard"), Copy), new ActionEntry("Paste", Stock.Paste, null, "<control>V", Catalog.GetString("Paste from clipboard"), Paste), new ActionEntry("Delete", Stock.Delete, null, "Delete", Catalog.GetString("Delete selection"), Delete), new ActionEntry("LibraryManager", null, Catalog.GetString("Widget libraries..."), null, null, ShowLibraryManager), new ActionEntry("ProjectMenu", null, Catalog.GetString("Project"), null, null, null), new ActionEntry("EditProjectIcons", null, Catalog.GetString("Project Icons..."), null, null, EditIcons), new ActionEntry("HelpMenu", null, Catalog.GetString("_Help"), null, null, null), new ActionEntry("Contents", Stock.Help, Catalog.GetString("_Contents"), "F1", Catalog.GetString("Help"), Help), new ActionEntry("About", Stock.About, null, null, Catalog.GetString("About Stetic"), About), }; ActionGroup actions = new ActionGroup("group"); actions.Add(entries); InsertActionGroup(actions, 0); AddUiFromString(menuXml); // Not yet implemented GetAction("/menubar/HelpMenu/Contents").Sensitive = false; GetAction("/menubar/FileMenu/Open").IsImportant = true; GetAction("/menubar/FileMenu/Save").IsImportant = true; // Set up Edit menu sensitivity hackery Gtk.MenuItem editMenuItem = (Gtk.MenuItem)GetWidget("/menubar/EditMenu"); Gtk.Menu editMenu = (Gtk.Menu)editMenuItem.Submenu; editMenu.Shown += EditShown; editMenu.Hidden += EditHidden; Gtk.MenuItem recentMenuItem = (Gtk.MenuItem)GetWidget("/menubar/FileMenu/RecentFiles"); recentFilesMenu = new Gtk.Menu(); recentMenuItem.Submenu = recentFilesMenu; recentMenuItem.ShowAll(); ReadRecentFiles(); SteticMain.CurrentDesignerChanged += OnDesignerChanged; Project = project; }
public void Dispose() { action_service.UIManager.RemoveUi(ui_manager_id); action_service.UIManager.RemoveActionGroup(actions); actions = null; instance = null; }
private static void AreEqual(ActionGroup exp, ActionGroup act) { if (exp != null) { Assert.Equal(exp.GroupShortName, act.GroupShortName); Assert.Equal(exp.WebhookReceivers, act.WebhookReceivers); } }
protected override void PluginDispose() { Globals.ActionManager.UI.RemoveUi(ui_manager_id); Globals.ActionManager.UI.RemoveActionGroup(actions); actions = null; SourceManager.RemoveSource(source); }
protected override void PluginDispose() { Globals.ActionManager.UI.RemoveUi(ui_manager_id); Globals.ActionManager.UI.RemoveActionGroup(actions); actions = null; PodcastCore.Dispose(); }
public virtual void DiscardHand() { foreach (Card card in hand.ToList()) { DiscardCard(card); } selectedActionGroup = null; }
private void Start() { group = InitActionGroup(obj); group.LunchActionSystem(steps, (worpSteps) => { LoopExecute(); }); }
public int enduranceCost; //How much endurance this option costs #endregion Fields #region Constructors public DefendOption(string defendName, ActionGroup defendGroup, int baseDefense, int enduranceCost, string defendDescription) { this.defendName = defendName; this.defendGroup = defendGroup; this.baseDefense = baseDefense; this.enduranceCost = enduranceCost; this.defendDescription = defendDescription; }
public ActionGroup Group() { var group = new ActionGroup(); Add(group); return(group); }
public CompositeTrackSourceContents() : base(name, PaneTopPosition, PaneLeftPosition) { action_service = ServiceManager.Get <InterfaceActionService> (); if (action_service.FindActionGroup("BrowserConfiguration") == null) { configure_browser_actions = new ActionGroup("BrowserConfiguration"); configure_browser_actions.Add(new ActionEntry [] { new ActionEntry("BrowserContentMenuAction", null, Catalog.GetString("Browser Content"), null, Catalog.GetString("Configure the filters available in the browser"), null) }); configure_browser_actions.Add(new ToggleActionEntry [] { new ToggleActionEntry("ShowArtistFilterAction", null, Catalog.GetString("Show Artist Filter"), null, Catalog.GetString("Show a list of artists to filter by"), null, ArtistFilterVisible.Get()) }); configure_browser_actions.Add(new RadioActionEntry [] { new RadioActionEntry("ShowTrackArtistFilterAction", null, Catalog.GetString("Show all Artists"), null, Catalog.GetString("Show all artists in the artist filter"), 0), new RadioActionEntry("ShowAlbumArtistFilterAction", null, Catalog.GetString("Show Album Artists"), null, Catalog.GetString("Show only album artists, not artists with only single tracks"), 1), }, ArtistFilterType.Get().Equals("artist") ? 0 : 1, null); configure_browser_actions.Add(new ToggleActionEntry [] { new ToggleActionEntry("ShowGenreFilterAction", null, Catalog.GetString("Show Genre Filter"), null, Catalog.GetString("Show a list of genres to filter by"), null, GenreFilterVisible.Get()) }); configure_browser_actions.Add(new ToggleActionEntry [] { new ToggleActionEntry("ShowYearFilterAction", null, Catalog.GetString("Show Year Filter"), null, Catalog.GetString("Show a list of years to filter by"), null, YearFilterVisible.Get()) }); action_service.AddActionGroup(configure_browser_actions); action_service.UIManager.AddUiFromString(menu_xml); } action_service.FindAction("BrowserConfiguration.ShowArtistFilterAction").Activated += OnArtistFilterVisibilityChanged; action_service.FindAction("BrowserConfiguration.ShowGenreFilterAction").Activated += OnGenreFilterChanged;; action_service.FindAction("BrowserConfiguration.ShowYearFilterAction").Activated += OnYearFilterChanged;; var artist_filter_action = action_service.FindAction("BrowserConfiguration.ShowTrackArtistFilterAction") as RadioAction; var albumartist_filter_action = action_service.FindAction("BrowserConfiguration.ShowAlbumArtistFilterAction") as RadioAction; artist_filter_action.Changed += OnArtistFilterChanged; artist_filter_action.Sensitive = ArtistFilterVisible.Get(); albumartist_filter_action.Changed += OnArtistFilterChanged; albumartist_filter_action.Sensitive = ArtistFilterVisible.Get(); }
void Disable() { creature.movementDir = Vector2.zero; for (int i = 0; i < creature.actionGroups.Count; i++) { ActionGroup actionGroup = (ActionGroup)creature.actionGroups[i]; creature.SetActionGroupActive(i, false); } }
private void SetCategoriesMenu() { Gtk.Action edit, editProp, sortMenu; UIManager manager; ActionGroup g; manager = new UIManager(); g = new ActionGroup("CategoriesMenuGroup"); edit = new Gtk.Action("EditAction", Mono.Unix.Catalog.GetString("Edit name"), null, "gtk-edit"); sortMenu = new Gtk.Action("SortMenuAction", Mono.Unix.Catalog.GetString("Sort Method"), null, null); sortByName = new Gtk.RadioAction("SortByNameAction", Mono.Unix.Catalog.GetString("Sort by name"), null, null, 1); sortByStart = new Gtk.RadioAction("SortByStartAction", Mono.Unix.Catalog.GetString("Sort by start time"), null, null, 2); sortByStop = new Gtk.RadioAction("SortByStopAction", Mono.Unix.Catalog.GetString("Sort by stop time"), null, null, 3); sortByDuration = new Gtk.RadioAction("SortByDurationAction", Mono.Unix.Catalog.GetString("Sort by duration"), null, null, 3); editProp = new Gtk.Action("EditPropAction", Mono.Unix.Catalog.GetString("Edit properties"), null, "gtk-edit"); sortByName.Group = new GLib.SList(System.IntPtr.Zero); sortByStart.Group = sortByName.Group; sortByStop.Group = sortByName.Group; sortByDuration.Group = sortByName.Group; g.Add(edit, null); g.Add(sortMenu, null); g.Add(sortByName, null); g.Add(sortByStart, null); g.Add(sortByStop, null); g.Add(sortByDuration, null); g.Add(editProp, null); manager.InsertActionGroup(g, 0); manager.AddUiFromString("<ui>" + " <popup action='CategoryMenu'>" + " <menuitem action='EditAction'/>" + " <menu action='SortMenuAction'>" + " <menuitem action='SortByNameAction'/>" + " <menuitem action='SortByStartAction'/>" + " <menuitem action='SortByStopAction'/>" + " <menuitem action='SortByDurationAction'/>" + " </menu>" + " <menuitem action='EditPropAction'/>" + " </popup>" + "</ui>"); categoriesMenu = manager.GetWidget("/CategoryMenu") as Menu; edit.Activated += OnEdit; sortByName.Activated += OnSortActivated; sortByStart.Activated += OnSortActivated; sortByStop.Activated += OnSortActivated; sortByDuration.Activated += OnSortActivated; editProp.Activated += delegate(object sender, EventArgs e) { EditProperties(GetValueFromPath(Selection.GetSelectedRows()[0]) as Category, null); }; }
private static Execution BuildExecution(XmlNode node, ActionGroup parent) { var name = node.Attributes["name"].Value; var description = node.Attributes["description"]?.Value; var method = node.Attributes["method"].Value; Execution execution = new Execution(parent, name, method, description); return(execution); }
public int enduranceCost; //How much endurance this options costs #endregion Fields #region Constructors public AttackOption(string attackName, AttackMethod attackMethod, ActionGroup attackGroup, int baseDamage, int enduranceCost, string attackDescription) { this.attackName = attackName; this.attackMethod = attackMethod; this.attackGroup = attackGroup; this.basePower = baseDamage; this.enduranceCost = enduranceCost; this.attackDescription = attackDescription; }
public async Task <ActionResult <ApiResult> > Update(ActionGroup actionGroup) { await _ActionGroupService.Update(actionGroup); ApiResult resp = new ApiResult(); resp.code = Code.Success; return(resp); }
public virtual void StartMainLoop() { Gtk.UIManager uiManager = Tomboy.ActionManager.UI; ActionGroup mainMenuActionGroup = new ActionGroup("Mac"); mainMenuActionGroup.Add(new ActionEntry [] { new ActionEntry("WindowMenuAction", null, // Translators: This is the name of "Window" menu in the Mac menubar Catalog.GetString("_Window"), null, null, null) }); uiManager.AddUiFromString(osxMenuXml); uiManager.InsertActionGroup(mainMenuActionGroup, 1); Gtk.MenuShell mainMenu = uiManager.GetWidget("/MainWindowMenubar") as Gtk.MenuShell; mainMenu.Show(); IgeMacMenu.MenuBar = mainMenu; WindowMenuManager.UpdateWindowMenu(); Gtk.MenuItem about_item = uiManager.GetWidget("/MainWindowMenubar/HelpMenu/ShowAbout") as Gtk.MenuItem; Gtk.MenuItem prefs_item = uiManager.GetWidget("/MainWindowMenubar/EditMenu/ShowPreferences") as Gtk.MenuItem; Gtk.MenuItem quit_item = uiManager.GetWidget("/MainWindowMenubar/FileMenu/QuitTomboy") as Gtk.MenuItem; (about_item.Child as Gtk.Label).Text = Catalog.GetString("About Tomboy"); (prefs_item.Child as Gtk.Label).Text = Catalog.GetString("Preferences..."); IgeMacMenuGroup about_group = IgeMacMenu.AddAppMenuGroup(); IgeMacMenuGroup prefs_group = IgeMacMenu.AddAppMenuGroup(); about_group.AddMenuItem(about_item, null); prefs_group.AddMenuItem(prefs_item, null); IgeMacMenu.QuitMenuItem = quit_item; IgeMacDock dock = new IgeMacDock(); dock.Clicked += delegate(object sender, EventArgs args) { if (Tomboy.Tray.TomboyTrayMenu.Visible) { Tomboy.Tray.TomboyTrayMenu.Hide(); } else { Tomboy.Tray.Tray.ShowMenu(false); } }; dock.QuitActivate += delegate(object sender, EventArgs args) { Exit(0); }; Tomboy.ActionManager ["CloseWindowAction"].Visible = false; Gtk.Application.Run(); }
public static void UnmarkTemplateAsUnselected(ActionGroup actionGroup) { GameObject instancedTemplate = FindTemplateInstance(actionGroup); if (instancedTemplate != null) { instancedTemplate.GetComponent <ActionGroupDataTemplate>().UnmarkTemplateAsUnselected(); } }
public FinalConnector(NetInfo centerNodeNetInfo, EdgeIntersections2 edgeIntersections, Ellipse ellipse, bool insertControllingVertices) { intersections = edgeIntersections?.Intersections ?? new List <VectorNodeStruct>(); m_group = edgeIntersections?.TmpeActionGroup(); this.ellipse = ellipse; pleasenoinfiniterecursion = 0; this.centerNodeNetInfo = centerNodeNetInfo; leftHandTraffic = Singleton <SimulationManager> .instance.m_metaData.m_invertTraffic == SimulationMetaData.MetaBool.True; // We ensure that the segments are not too long. For circles only (with ellipses it would be more difficult) m_maxAngDistance = Math.Min(Math.PI * 25 / ellipse.RadiusMain, Math.PI / 2 + 0.1d); bool isCircle = ellipse.IsCircle(); if (!isCircle && insertControllingVertices) { /* See doc in the method below */ InsertIntermediateNodes(); } /* If the list of edge nodes is empty, we add one default intersection. */ if (isCircle && intersections.Count == 0) { Vector3 defaultIntersection = new Vector3(ellipse.RadiusMain, 0, 0) + ellipse.Center; ushort newNodeId = NetAccess.CreateNode(centerNodeNetInfo, defaultIntersection); intersections.Add(new VectorNodeStruct(newNodeId)); } int count = intersections.Count; foreach (VectorNodeStruct item in intersections) { item.angle = Ellipse.VectorsAngle(item.vector - ellipse.Center); } /* We sort the nodes according to their angles */ intersections.Sort(); /* Goes over all the nodes and conntets each of them to the angulary closest neighbour. (In a given direction) */ for (int i = 0; i < count; i++) { VectorNodeStruct prevNode = intersections[i]; if (isCircle) { prevNode = CheckAngularDistance(intersections[i], intersections[(i + 1) % count]); } ConnectNodes(intersections[(i + 1) % count], prevNode); } if (m_group != null) { ModThreading.Timer(m_group); } }
public IEnumerator CalculateAvailableActions(Character activeCharacter) { List <ActionGroup> possibleActions = new List <ActionGroup>(); //Using ability from current location foreach (var ability in activeCharacter.Abilities) { if (activeCharacter.characterData.Energy.CurrentValue < ability.cost) //Not enough energ { continue; } foreach (var targetCell in ability.targeting.GetValidTargetCells(activeCharacter.Location, true)) { possibleActions.Add(new ActionGroup(activeCharacter.Location, targetCell, ActionGroup.ActionChoice.AbilityOnly, ability)); } } //Moving foreach (var moveToCell in activeCharacter.ReachableCells) { //Only move possibleActions.Add(new ActionGroup(moveToCell, null, ActionGroup.ActionChoice.WalkOnly, null)); //Using abilities after move foreach (var ability in activeCharacter.Abilities) { if (activeCharacter.characterData.Energy.CurrentValue < ability.cost) //Not enough energy { continue; } foreach (var targetCell in ability.targeting.GetValidTargetCells(moveToCell, true)) { possibleActions.Add(new ActionGroup(moveToCell, targetCell, ActionGroup.ActionChoice.WalkAndAbility, ability)); } } } Debug.Log("Number of actions is " + possibleActions.Count); //Score all actiongroups foreach (var item in possibleActions) { Score(item, activeCharacter); yield return(null); //Wait one frame } //Sort possibleActions.Sort(); //Pick one actiongroup int indexToChoose = Mathf.RoundToInt(UnityEngine.Random.Range(1 - difficulty, 0) * possibleActions.Count); indexToChoose = Mathf.Min(indexToChoose, possibleActions.Count - 1); ActionGroup chosenAction = possibleActions[indexToChoose]; activeCharacter.SetNextAction(chosenAction); }
public void ShowWindow() { Application.Init(); gxml = new Glade.XML("contactviewer.glade", "MainWindow"); gxml.Autoconnect(this); ActionEntry[] entries = new ActionEntry [] { new ActionEntry("FileMenuAction", null, "_File", null, null, null), new ActionEntry("OpenAction", Gtk.Stock.Open, "_Open", "<control>O", Catalog.GetString("Open..."), new EventHandler(OnOpenDatabase)), new ActionEntry("QuitAction", Gtk.Stock.Quit, "_Quit", "<control>Q", Catalog.GetString("Quit"), new EventHandler(OnQuit)), new ActionEntry("HelpMenuAction", null, "_Help", null, null, null), new ActionEntry("AboutAction", Gnome.Stock.About, "_About", null, Catalog.GetString("About"), new EventHandler(OnAbout)) }; ActionGroup grp = new ActionGroup("MainGroup"); grp.Add(entries); ui_manager = new UIManager(); ui_manager.InsertActionGroup(grp, 0); ui_manager.AddUiFromResource("menu.xml"); MenubarHolder.Add(ui_manager.GetWidget("/MainMenu")); // Fix the TreeView that will contain all contacts contact_store = new ListStore(typeof(string), typeof(string)); ContactList.Model = contact_store; ContactList.RulesHint = true; ContactList.AppendColumn(Catalog.GetString("Contacts"), new CellRendererText(), "text", 1); ContactList.ButtonReleaseEvent += OnContactSelected; // This ListStore will let the user choose what to see in the contact list contact_show_type_store = new ListStore(typeof(string), typeof(string)); contact_show_type_store.AppendValues("DisplayName", Catalog.GetString("Display name")); contact_show_type_store.AppendValues("PrimaryEmail", Catalog.GetString("Primary E-mail")); contact_show_type_store.AppendValues("SecondEmail", Catalog.GetString("Secondary E-mail")); contact_show_type_store.AppendValues("NickName", Catalog.GetString("Nickname")); CellRendererText cell = new CellRendererText(); ListIdentifier.PackStart(cell, false); ListIdentifier.AddAttribute(cell, "text", 1); ListIdentifier.Model = contact_show_type_store; ListIdentifier.Active = 0; ListIdentifier.Changed += OnContactListTypeChanged; MainWindow.Icon = Beagle.Images.GetPixbuf("contact-icon.png"); MainWindow.DeleteEvent += OnDeleteEvent; LoadDatabase(); Application.Run(); }
public override bool Load() { History.Instance.Changed += OnHistoryChanged; historyActionGroup = new ActionGroup("HistoryActions"); uiManager.InsertActionGroup(historyActionGroup, 0); OnHistoryChanged(History.Instance); loaded = true; return(true); }
public ImportActionGroupViewModel(ActionGroup model) : base(model) { this.PasteableTypes.Add(typeof(ImportMappingAction)); this.PasteableTypes.Add(typeof(DeclineMappingAction)); this.PasteableTypes.Add(typeof(ExtensionPassThroughAction)); this.Commands.AddItem("AddImportMappingAction", t => this.Actions.AddImportMappingAction()); this.Commands.AddItem("AddDeclineMappingAction", t => this.Actions.AddDeclineMappingAction()); this.Commands.AddItem("AddPassThroughAction", t => this.Actions.AddPassThroughAction()); }
public override bool CheckIfPlayable(Character executer, ActionGroup actionGroupToPlay) { bool playable = true; foreach (PlayCondition playCondition in playConditions) { playable = playable && playCondition.CheckIfPlayable(executer, actionGroupToPlay); } return(playable); }
public FilteredListSourceContents(string name) { this.name = name; InitializeViews(); string position = Layout(); if (ForcePosition != null) { return; } if (ServiceManager.Contains("InterfaceActionService")) { action_service = ServiceManager.Get <InterfaceActionService> (); if (action_service.FindActionGroup("BrowserView") == null) { browser_view_actions = new ActionGroup("BrowserView"); browser_view_actions.Add(new RadioActionEntry [] { new RadioActionEntry("BrowserLeftAction", null, Catalog.GetString("Browser on Left"), null, Catalog.GetString("Show the artist/album browser to the left of the track list"), 0), new RadioActionEntry("BrowserTopAction", null, Catalog.GetString("Browser on Top"), null, Catalog.GetString("Show the artist/album browser above the track list"), 1), }, position == "top" ? 1 : 0, null); browser_view_actions.Add(new ToggleActionEntry [] { new ToggleActionEntry("BrowserVisibleAction", null, Catalog.GetString("Show Browser"), "<control>B", Catalog.GetString("Show or hide the artist/album browser"), null, BrowserVisible.Get()) }); action_service.AddActionGroup(browser_view_actions); //action_merge_id = action_service.UIManager.NewMergeId (); action_service.UIManager.AddUiFromString(menu_xml); } (action_service.FindAction("BrowserView.BrowserLeftAction") as RadioAction).Changed += OnViewModeChanged; (action_service.FindAction("BrowserView.BrowserTopAction") as RadioAction).Changed += OnViewModeChanged; action_service.FindAction("BrowserView.BrowserVisibleAction").Activated += OnToggleBrowser; } ServiceManager.SourceManager.ActiveSourceChanged += delegate { ThreadAssist.ProxyToMain(delegate { browser_container.Visible = ActiveSourceCanHasBrowser ? BrowserVisible.Get() : false; }); }; NoShowAll = true; }
public async Task <IActionResult> Create([Bind("Id,Name")] ActionGroup actionGroup) { if (ModelState.IsValid) { _context.Add(actionGroup); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(actionGroup)); }
public void AddActionGroup(ActionGroup group) { lock (this) { if (action_groups.ContainsKey(group.Name)) { throw new ApplicationException("Group already exists"); } InnerAddActionGroup(group); } }
public void RemoveActionGroup(string name) { lock (this) { if (action_groups.ContainsKey(name)) { ActionGroup group = action_groups[name]; ui_manager.RemoveActionGroup(group); action_groups.Remove(name); } } }
public ActionConditionGroup(ActionConditionGroup rhs, bool readOnly, bool createNewId) : base(rhs, readOnly, createNewId) { m_actionGroup = new ActionGroup(rhs.m_actionGroup, readOnly, createNewId); SetActionGroupObserver(); }
public ActionConditionGroup(ActionConditionGroup rhs) : base(rhs) { m_actionGroup = new ActionGroup(rhs.m_actionGroup); SetActionGroupObserver(); }
public ActionConditionGroup(ConditionGroup conditionGroup, ActionGroup actionGroup, bool readOnly) : base(conditionGroup, readOnly, false) { m_actionGroup = actionGroup; SetActionGroupObserver(); }
public void TestAddActionMultipleTimes() { PolicyCatalogue policyCatalogue; PolicyChannel channel; AddActionPostAddToChannel(out channel, out policyCatalogue); IActionMatrix actionMatrix = channel.Actions; Dictionary<KeyValuePair<Guid, Guid>, IActionMatrixCell>.Enumerator enumerator = actionMatrix.GetEnumerator(); enumerator.MoveNext(); KeyValuePair<KeyValuePair<Guid, Guid>, IActionMatrixCell> currentKeyValuePair = enumerator.Current; IPolicyObjectCollection<IActionConditionGroup> actionConditionGroups = currentKeyValuePair.Value.ActionConditionGroups; Assert.AreEqual(1, actionConditionGroups.Count); IActionConditionGroup actionConditionGroup = actionConditionGroups[0]; Assert.IsNotNull(actionConditionGroup, "Expected a valid action condition group"); Assert.AreEqual(1, actionConditionGroup.ActionGroup.Actions.Count, "Expected one action"); IAction action = actionConditionGroup.ActionGroup.Actions[0]; Assert.IsNotNull(action, "Expected a valid action"); // Lets add another cell IRoutingItemCollection senders = new RoutingItemCollection(new Guid("{1B5380C6-EFD3-445E-80EE-0AFAB63B870A}"), "Another sources"); IRoutingItemCollection recipients = new RoutingItemCollection(new Guid("{AE069B6D-2CD9-4EB1-8128-A28421D35FB1}"), "Another destinations"); ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients); ConditionGroup conditionGroup = new ConditionGroup(new Guid("{0E409581-5ED4-4563-933C-E6272F4521FD}"), new TranslateableLanguageItem("Another test condition group"), ConditionLogic.AND, false); ActionGroup actionGroup = new ActionGroup(new Guid("{279F8DD8-0A09-4FBA-A729-1136BA3604FC}"), new TranslateableLanguageItem("Another test action group"), 1); actionGroup.Actions.Add(action); ActionConditionGroup actionConditionGroup2 = new ActionConditionGroup(conditionGroup, actionGroup, false); actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup2); actionMatrix[senders, recipients] = actionMatrixCell; Assert.AreEqual(1, policyCatalogue.Channels.Count, "Expected one channel"); Assert.AreEqual(2, policyCatalogue.ActionGroups.Count, "Expected one action group"); Assert.AreEqual(1, policyCatalogue.Actions.Count, "Expected one action"); Assert.AreEqual(4, policyCatalogue.LocationsCollection.Count, "Expected two location groups"); Assert.AreEqual(3, policyCatalogue.Locations.Count, "Expected three locations"); }
private void AddActionPostAddToChannel(out PolicyChannel channel, out PolicyCatalogue policyCatalogue) { IPolicyLanguage language = new PolicyLanguage(new Guid("{E8B22533-98EB-4D00-BDE4-406DC3E1858B}"), "en"); XMLPolicyCatalogueStore catalogueStore = XMLPolicyCatalogueStore.Instance; catalogueStore.Reset(); policyCatalogue = new PolicyCatalogue(new Guid("{AB5E2A43-01FB-4AA6-98FC-8F74BB0621CA}"), language.Identifier, new TranslateableLanguageItem("{B5C31A66-1B39-4CA7-BF02-AF271B5864F7}"), catalogueStore); catalogueStore.AddPolicyCatalogue(policyCatalogue); PolicySetObserver policySetObserver = new PolicySetObserver(policyCatalogue); Assert.AreEqual(0, policyCatalogue.Channels.Count); Assert.AreEqual(0, policyCatalogue.ActionGroups.Count); Assert.AreEqual(0, policyCatalogue.Actions.Count); Assert.AreEqual(0, policyCatalogue.LocationsCollection.Count); Assert.AreEqual(0, policyCatalogue.Locations.Count); channel = new PolicyChannel(new Guid("{0FE26539-7AAD-46DC-8D5B-9651CC00B9E4}"), new TranslateableLanguageItem("Test channel"), ChannelType.SMTP); policySetObserver.AddObject(channel); IRoutingItemCollection senders = new RoutingItemCollection(new Guid("{441FDCBF-B606-4325-8CD5-E829AD5303B9}"), "Test sources"); senders.Add(new RoutingItem(new Guid("{D41A47E2-CC13-46FF-BE83-829625792576}"), "James Brown", "*****@*****.**")); senders.Add(new RoutingItem(new Guid("{B031DFE9-54E7-482B-8955-18CFB8F06A40}"), "Nat King Cole", "*****@*****.**")); IRoutingItemCollection recipients = new RoutingItemCollection(new Guid("{29C44E5C-5405-409F-8513-A99AE246536F}"), "Test destinations"); recipients.Add(new RoutingItem(new Guid("{9E26C6A2-ABE2-427D-9D78-5B8547ADA8D2}"), "Jet Li", "*****@*****.**")); ActionMatrix actionMatrix = new ActionMatrix(); ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients); ConditionGroup conditionGroup = new ConditionGroup(new Guid("{9D065722-1106-4FC1-8D48-58733661B929}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false); ActionGroup actionGroup = new ActionGroup(new Guid("{E2A16C4D-E112-4249-92B9-612732117809}"), new TranslateableLanguageItem("Test action group"), 1); Action action = new Action(new Guid("{A5FAA63E-4F25-456F-92F9-9BB465C18F1F}"), "Test.dll", "Do.It", RunAt.Client, false, 1); //TODO JE ActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup, actionGroup, false); actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup); actionGroup.Actions.Add(action); actionMatrix[senders, recipients] = actionMatrixCell; channel.Actions = actionMatrix; }
public void TestAddActionPreAddToChannel() { IPolicyLanguage language = new PolicyLanguage(new Guid("{E8B22533-98EB-4D00-BDE4-406DC3E1858B}"), "en"); XMLPolicyCatalogueStore catalogueStore = XMLPolicyCatalogueStore.Instance; catalogueStore.Reset(); PolicyCatalogue policyCatalogue = new PolicyCatalogue(new Guid("{AB5E2A43-01FB-4AA6-98FC-8F74BB0621CA}"), language.Identifier, new TranslateableLanguageItem("{B5C31A66-1B39-4CA7-BF02-AF271B5864F7}"), catalogueStore); catalogueStore.AddPolicyCatalogue(policyCatalogue); PolicySetObserver policySetObserver = new PolicySetObserver(policyCatalogue); Assert.AreEqual(0, policyCatalogue.Channels.Count); Assert.AreEqual(0, policyCatalogue.ActionGroups.Count); Assert.AreEqual(0, policyCatalogue.Actions.Count); Assert.AreEqual(0, policyCatalogue.LocationsCollection.Count); Assert.AreEqual(0, policyCatalogue.Locations.Count); PolicyChannel channel = new PolicyChannel(new Guid("{0FE26539-7AAD-46DC-8D5B-9651CC00B9E4}"), new TranslateableLanguageItem("Test channel"), ChannelType.SMTP); policySetObserver.AddObject(channel); IRoutingItemCollection senders = new RoutingItemCollection(new Guid("{441FDCBF-B606-4325-8CD5-E829AD5303B9}"), "Test sources"); IRoutingItemCollection recipients = new RoutingItemCollection(new Guid("{29C44E5C-5405-409F-8513-A99AE246536F}"), "Test destinations"); ActionMatrix actionMatrix = new ActionMatrix(); channel.Actions = actionMatrix; ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients); actionMatrix[senders, recipients] = actionMatrixCell; ConditionGroup conditionGroup = new ConditionGroup(new Guid("{9D065722-1106-4FC1-8D48-58733661B929}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false); ActionGroup actionGroup = new ActionGroup(new Guid("{E2A16C4D-E112-4249-92B9-612732117809}"), new TranslateableLanguageItem("Test action group"), 1); Action action = new Action(new Guid("{A5FAA63E-4F25-456F-92F9-9BB465C18F1F}"), "Test.dll", "Do.It", RunAt.Client, false, 1); //TODO JE ActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup, actionGroup, false); actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup); actionGroup.Actions.Add(action); Assert.AreEqual(1, policyCatalogue.Channels.Count, "Expected one channel"); Assert.AreEqual(1, policyCatalogue.ActionGroups.Count, "Expected one action group"); Assert.AreEqual(1, policyCatalogue.Actions.Count, "Expected one action"); Assert.AreEqual(2, policyCatalogue.LocationsCollection.Count, "Expected two location groups"); Assert.AreEqual(0, policyCatalogue.Locations.Count, "Expected no locations"); }
public static void BuildActionMatrix(IPolicy policy, ActionMatrix actionMatrix, ActionGroup actionGroup, IRoutingItemCollections senders, IRoutingItemCollections recipients) { ConditionGroup conditionGroup = new ConditionGroup(new Guid("{661EDD6F-D750-493A-9932-E56C8C22E2CF}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false); policy.Conditions.Add(conditionGroup); // Just fill out each cell with the same condition group for now... int i = 0; foreach (IRoutingItemCollection senderCollection in senders) { foreach (IRoutingItemCollection recipientCollection in recipients) { ActionMatrixCell cell = new ActionMatrixCell(senderCollection, recipientCollection); cell.AddActionCondition(conditionGroup, actionGroup, false); actionMatrix[senderCollection, recipientCollection] = cell; i++; } } }
public void TestReadActionGroupCopyConstructors() { IActionGroup actionGroup = ReadActionGroupAttributesHelper(); Assert.AreEqual("This is my first custom property", actionGroup["custom1"].Value); Assert.AreEqual("This is my second custom property", actionGroup["custom2"].Value); ActionGroup actionGroupCopy = new ActionGroup(actionGroup as ActionGroup); Assert.AreEqual("This is my first custom property", actionGroupCopy["custom1"].Value); Assert.AreEqual("This is my second custom property", actionGroupCopy["custom2"].Value); ActionGroup actionGroupCopy2 = new ActionGroup(actionGroup as ActionGroup, false, false); Assert.AreEqual("This is my first custom property", actionGroupCopy2["custom1"].Value); Assert.AreEqual("This is my second custom property", actionGroupCopy2["custom2"].Value); ActionGroup actionGroupCopy3 = new ActionGroup(actionGroup.Identifier, actionGroup.Name, 1); Assert.AreEqual("", actionGroupCopy3["custom1"].Value); Assert.AreEqual("", actionGroupCopy3["custom2"].Value); }
private ActionGroup BuildActionGroup() { DataMethod dataMethod = new DataMethod("Test method"); dataMethod.Parameters.Add(new Parameter("FindSomething", new DataElement(new TranslateableLanguageItem("string value"), new TranslateableLanguageItem(""), DataType.String, "missing"))); dataMethod.Parameters.Add(new Parameter("RunSomething", new DataElement(new TranslateableLanguageItem("string value"), new TranslateableLanguageItem(""), DataType.String, "just do it!"))); DataSource dataSource = new DataSource("Testme.dll", "TestMe", dataMethod); ObjectModel.IAction subAction = new ObjectModel.Action(new Guid("{72551FD1-D46D-4AF6-8DA3-76B5BCE01FD8}"), "CustomAction2.dll", "Test.Publish", RunAt.Server, true, 1); //TODO JE subAction.DataElements.Add(new DataElement(new Guid("{4E2F50C5-D310-47A1-AE3A-621F5C77FA68}"), new TranslateableLanguageItem("Do testing stuff"), new TranslateableLanguageItem("Do testing stuff"), DataType.Object, dataSource)); IActionGroup subActionGroup = new ActionGroup(new Guid("{BBEF6879-6D10-455D-A5D9-86D9B8B725A6}"), new TranslateableLanguageItem("Test sub action group"), 1); subActionGroup.Actions.Add(subAction); ActionGroup actionGroup = new ActionGroup(new Guid("{987B7C8B-5ADD-4696-8456-DDE11D95CE0B}"), new TranslateableLanguageItem("Test action group"), 1); actionGroup.ActionGroups.Add(subActionGroup); IDataItem dataItem = DataItem.CreateDataItem(new TranslateableLanguageItem("Test data item"), DataType.Long, "10"); ObjectModel.IAction action = new ObjectModel.Action(new Guid("{26BCFA7E-3605-4EE7-ACC6-0AFB4D5EBB71}"), "CustomAction.dll", "Test.Clean", RunAt.Client, false, 1); //TODO JE action.DataElements.Add(new DataElement(new Guid("{EB56B397-954D-45C2-ADBA-263372A8B59F}"), new TranslateableLanguageItem("Test data item stored in data element"), new TranslateableLanguageItem("Test data item stored in data element"), DataType.Long, dataItem)); actionGroup.Actions.Add(action); return actionGroup; }
//Adds a defend option to this profile public void AddDefendOption(string defendName, ActionGroup defendGroup, int baseDefense, int enduranceCost, string defendDescription) { DefendOption defOpt = new DefendOption(defendName, defendGroup, baseDefense, enduranceCost, defendDescription); defendList.Add(defOpt); }
//Adds an attack option to this profile public void AddAttackOption(string attackName, AttackMethod attackMethod, ActionGroup attackGroup, int baseDamage, int enduranceCost, string attackDescription) { AttackOption atkOpt = new AttackOption(attackName, attackMethod, attackGroup, baseDamage, enduranceCost, attackDescription); attackList.Add(atkOpt); }
public static void BuildActionMatrix(IPolicy policy, ActionMatrix actionMatrix, ActionGroup actionGroup) { ConditionGroup conditionGroup = new ConditionGroup(new Guid("{661EDD6F-D750-493A-9932-E56C8C22E2CF}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false); policy.Conditions.Add(conditionGroup); PolicyCataloguesCache policyCataloguesCache = PolicyCataloguesCache.Instance(); IRoutingItemCollection senders1 = policyCataloguesCache.LocationsCollections[new Guid("{A81631A6-6AA3-45F7-AADD-4853447E5BD6}")]; IRoutingItemCollection senders2 = policyCataloguesCache.LocationsCollections[new Guid("{0DAACC5C-6167-42C7-AED0-55D1D9CC5096}")]; IRoutingItemCollection recipients1 = policyCataloguesCache.LocationsCollections[new Guid("{FA13BE82-9EB1-407E-9DD5-8005F3E840E4}")]; IRoutingItemCollection recipients2 = policyCataloguesCache.LocationsCollections[new Guid("{13A8EBE5-8B1E-4919-82E2-8A860DE4043E}")]; ActionMatrixCell actionMatrixCell1 = new ActionMatrixCell(senders1, recipients1); actionMatrixCell1.AddActionCondition(conditionGroup, actionGroup, false); ActionMatrixCell actionMatrixCell2 = new ActionMatrixCell(senders1, recipients2); actionMatrixCell1.AddActionCondition(conditionGroup, actionGroup, false); actionMatrix[senders1, recipients1] = actionMatrixCell1; actionMatrix[senders1, recipients2] = actionMatrixCell2; ConditionGroup conditionGroup2 = new ConditionGroup(new Guid("{D64056E5-A19D-4B29-8F4A-A70337B42A19}"), new TranslateableLanguageItem("Test condition group 2"), ConditionLogic.AND, false); policy.Conditions.Add(conditionGroup2); ActionMatrixCell actionMatrixCell3 = new ActionMatrixCell(senders2, recipients2); actionMatrixCell3.AddActionCondition(conditionGroup2, actionGroup, false); ActionMatrixCell actionMatrixCell4 = new ActionMatrixCell(senders2, recipients1); actionMatrixCell4.AddActionCondition(conditionGroup2, actionGroup, false); actionMatrix[senders2, recipients2] = actionMatrixCell3; actionMatrix[senders2, recipients1] = actionMatrixCell4; }
public static IActionConditionGroup ActionConditionGroupFactory() { //TODO: Do we need to suppport nested Action Groups, but for the intial beta //Steve says we assume a single action group containing all actions ConditionGroup conditionGroup = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false); ActionGroup actionGroup = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1); ActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup, actionGroup, false); return actionConditionGroup; }
private ActionGroup ReadSpecialActionCell(XmlNode actionMatrixCellNode, XmlNode actionConditionGroupNode, string nodeName) { if ((null == actionMatrixCellNode) || (null == actionConditionGroupNode) || (nodeName != actionMatrixCellNode.Name)) return null; string conditionGroupId = actionConditionGroupNode.Attributes.GetNamedItem("id").InnerText; XmlNode actionGroupNode = actionConditionGroupNode.SelectSingleNode("ActionGroup"); string actionGroupNodeId = actionGroupNode.Attributes.GetNamedItem("id").InnerText; int precedence = Convert.ToInt32(actionGroupNode.Attributes.GetNamedItem("precedence").InnerText, CultureInfo.InvariantCulture); bool readOnly = PolicyUtilities.IsReadOnly(actionGroupNode); IPolicyObjectCollection<IActionGroup> availableActionGroups = m_reader.CataloguesCache.ActionGroups; ActionGroup actionGroup = new ActionGroup(availableActionGroups[new Guid(actionGroupNodeId)] as ActionGroup, precedence, readOnly); string xpath = string.Format(CultureInfo.InvariantCulture, @"{0}/ActionMatrix/{1}/ConditionGroups/ConditionGroup[@id='{2}']/", m_xpath.Substring(0, m_xpath.LastIndexOf("/")), nodeName, conditionGroupId); XmlActionReaderFactory.CreateReader(actionGroupNode, m_reader, actionGroup, xpath).Read(); return actionGroup; }
private void BuildPolicy(IPolicy policy) { IConditionGroup conditionGroup = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false); policy.Conditions.Add(conditionGroup); ICondition condition = new Condition(Guid.NewGuid(), "TestClass", new TranslateableLanguageItem(""), OperatorType.Equals); conditionGroup.Conditions.Add(condition); condition.Parent = conditionGroup; DataMethod dataMethod = new DataMethod("ThisIsATest"); DataElement parameterDataElement = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new NonTranslateableLanguageItem(""), DataType.String, "Lets go dynamo"); dataMethod.Parameters.Add(new Parameter("somethingTerrible", parameterDataElement)); IDataSource dataSource = new DataSource("ThisIsADodgyAssembly.dll", "ItWantsToTakeOverYourComputer", dataMethod); condition.DataLeft = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new NonTranslateableLanguageItem(""), DataType.Object, dataSource); IDataItem dataRightDataItem = DataItem.CreateDataItem(new TranslateableLanguageItem(""), DataType.String, "This is a test"); condition.DataRight = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new NonTranslateableLanguageItem(""), DataType.String, dataRightDataItem); //Now build a channel PolicyChannel channel = new PolicyChannel(Guid.NewGuid(), new TranslateableLanguageItem(""), ChannelType.SMTP); policy.Channels.Add(channel); RoutingTable routingTable = new RoutingTable(Guid.NewGuid(), new TranslateableLanguageItem(""), ChannelType.SMTP); channel.Routing = routingTable; IRoutingItemCollection senders = new RoutingItemCollection(Guid.NewGuid(), ""); senders.Add(new RoutingItem(Guid.NewGuid(), "James Brown", "*****@*****.**")); senders.Add(new RoutingItem(Guid.NewGuid(), "Nat King Cole", "*****@*****.**")); IRoutingItemCollection recipients = new RoutingItemCollection(Guid.NewGuid(), ""); recipients.Add(new RoutingItem(Guid.NewGuid(), "Jet Li", "*****@*****.**")); routingTable.Sources.Add(senders); routingTable.Destinations.Add(recipients); ActionMatrix actionMatrix = new ActionMatrix(false); channel.Actions = actionMatrix; ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients); actionMatrix[senders, recipients] = actionMatrixCell; ConditionGroup conditionGroup2 = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false); ActionGroup actionGroup = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1); IActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup2, actionGroup, false); actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup); Action action = new Action(Guid.NewGuid(), new TranslateableLanguageItem(""), "TestAction.dll", "Test.Action", RunAt.Client, false, 1); //TODO JE DataItem dataItem = DataItem.CreateDataItem(new TranslateableLanguageItem(""), DataType.String, "Not again, when will it ever end!"); DataElement dataElement = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new TranslateableLanguageItem(""), DataType.String, dataItem); action.DataElements.Add(dataElement); actionConditionGroup.ActionGroup.Actions.Add(action); //Setup the Action Exception ConditionGroup conditionGroup3 = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false); ActionGroup actionGroup3 = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1); IActionConditionGroup actionConditionGroup3 = new ActionConditionGroup(conditionGroup3, actionGroup3, false); Action action3 = new Action(Guid.NewGuid(), new TranslateableLanguageItem(""), "TestAction.dll", "Test.Action", RunAt.Client, false, 1); actionConditionGroup3.ActionGroup.Actions.Add(action3); actionMatrix.ActionExceptionHandler.ActionConditionGroups.Add(actionConditionGroup3); //Setup the Offline Actions ConditionGroup conditionGroup4 = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false); ActionGroup actionGroup4 = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1); IActionConditionGroup actionConditionGroup4 = new ActionConditionGroup(conditionGroup4, actionGroup4, false); Action action4 = new Action(Guid.NewGuid(), new TranslateableLanguageItem(""), "TestAction.dll", "Test.Action", RunAt.Client, false, 1); actionConditionGroup4.ActionGroup.Actions.Add(action4); actionMatrix.Offline.ActionConditionGroups.Add(actionConditionGroup4); }
public void AddActionCondition(ConditionGroup conditionGroup, ActionGroup actionGroup, bool readOnly) { m_actionGroups.Add(new ActionConditionGroup(conditionGroup, actionGroup, readOnly)); }