private void commandTypeCombo_SelectedIndexChanged(object sender, EventArgs e) { bool hasElement = commandTypeCombo.SelectedIndex < 4 || commandTypeCombo.SelectedIndex == 5 || commandTypeCombo.SelectedIndex == 6; selectCommandElementButton.Enabled = hasElement; commandElementBox.Enabled = hasElement; if (!hasElement) { commandElementBox.Text = String.Empty; } if (hasElement && m_CurrentCommandElement != null && (commandTypeCombo.SelectedIndex == 5 || commandTypeCombo.SelectedIndex == 6)) { commandElementBox.Text = String.Empty; m_CurrentCommandElement = null; m_CurrentCategoryId = -1; m_CurrentTagId = -1; } else if (hasElement && m_CurrentTagId != -1 && commandTypeCombo.SelectedIndex < 4) { commandElementBox.Text = String.Empty; m_CurrentCommandElement = null; m_CurrentCategoryId = -1; m_CurrentTagId = -1; } waitTimeUpDown.Enabled = !hasElement; if (!String.IsNullOrEmpty(errorProvider.GetError(commandElementBox)) && !hasElement) { errorProvider.SetError(commandElementBox, String.Empty); } }
public ElementRenamedAction(IElement element, IModeElement modeElement, String newName) { m_Element = element; m_ModeElement = modeElement; m_OldName = element.Title; m_NewName = newName; }
public static String GetErrorForKey(IProject project, IModeElement modeElement, int key) { IMode elementMode = null; foreach (IMode mode in project.GetModes()) { if (mode.KeyCode == key) { return(String.Format(StringResources.KeyUsedByMode, mode.Title)); } if (mode.GetElements().Contains(modeElement)) { elementMode = mode; } } if (elementMode != null) { foreach (IModeElement element in elementMode.GetElements()) { if (element != modeElement && element.Trigger != null && element.Trigger.TriggerType == TriggerType.Key && (element.Trigger as IKeyTrigger).KeyCode == key) { return(String.Format(StringResources.KeyUsedByModeElement, element.Title)); } } } if (s_GlobalReservedKeys.ContainsKey(key)) { return(StringResources.KeyGloballyReserved); } return(String.Empty); }
private void selectCommandElementButton_Click(object sender, EventArgs e) { System.Windows.Forms.ContextMenu menu; if (commandTypeCombo.SelectedIndex < 4) { menu = CreateElementSelectionMenu((IModeElement element) => { m_CurrentCommandElement = element; commandElementBox.Text = GetElementDisplayName(element, m_Project); if (element != null && !String.IsNullOrEmpty(errorProvider.GetError(commandElementBox))) { errorProvider.SetError(commandElementBox, String.Empty); } }); } else { menu = CreateTagSelectionMenu((int categoryId, int tagId) => { m_CurrentTagId = tagId; m_CurrentCategoryId = categoryId; commandElementBox.Text = GetTagName(tagId, m_Project); if (m_CurrentTagId != -1 && !String.IsNullOrEmpty(errorProvider.GetError(commandElementBox))) { errorProvider.SetError(commandElementBox, String.Empty); } }, m_Project); } menu.Show(commandGroupBox, new Point(selectCommandElementButton.Left, selectCommandElementButton.Bottom)); }
private void UpdateMusicList() { var newMusicList = CreateTagsMusicList(m_Title, m_CurrentChoices, m_FadeOnlyOnChange ? 0 : m_FadeTime); var newModeElement = Ares.Data.DataModule.ElementFactory.CreateModeElement(m_Title, newMusicList); newModeElement.Trigger = Ares.Data.DataModule.ElementFactory.CreateNoTrigger(); newModeElement.Trigger.StopMusic = true; newModeElement.Trigger.CrossFadeMusic = false; if (m_FadeTime > 0) { newModeElement.Trigger.FadeMusic = true; newModeElement.Trigger.FadeMusicTime = m_FadeTime; } IRandomBackgroundMusicList oldMusicList; lock (m_SyncObject) { oldMusicList = m_MusicList; m_MusicList = newMusicList; m_ModeElement = newModeElement; } if (oldMusicList != null) { foreach (IChoiceElement element in oldMusicList.GetElements()) { Ares.Data.DataModule.ElementRepository.DeleteElement(element.Id); } Ares.Data.DataModule.ElementRepository.DeleteElement(oldMusicList.Id); } }
public void ModeElementStarted(IModeElement element) { lock (m_LockObject) { m_RunningElements.Add(element.Id); } Signal(element.Id); }
public void ModeElementFinished(IModeElement element) { lock (m_LockObject) { m_RunningElements.Remove(element.Id); } Signal(element.Id); }
public static bool IsEndless(this IModeElement element) { if (element.StartElement == null) { return(false); } return(IsEndless(element.StartElement)); }
public static bool AlwaysStartsMusic(this IModeElement element) { if (element.StartElement == null) { return(false); } return(AlwaysStartsMusic(element.StartElement)); }
public override void Undo(Ares.Data.IProject project) { IModeElement modeElement = m_Node.Tag as IModeElement; modeElement.Title = m_OldName; modeElement.StartElement.Title = m_OldName; m_Node.Text = modeElement.GetNodeTitle(); ElementChanges.Instance.ElementRenamed(modeElement.Id); ElementChanges.Instance.ElementRenamed(modeElement.StartElement.Id); }
public override void Do(Ares.Data.IProject project) { m_Parent.Nodes.Remove(m_Node); IModeElement element = (m_Node.Tag as IModeElement); (m_Parent.Tag as IMode).RemoveElement(element); Data.DataModule.ElementRepository.DeleteElement(element.Id); ElementRemoval.NotifyRemoval(element); Ares.ModelInfo.ModelChecks.Instance.CheckAll(project); }
public TagsMusicPlayer() { m_CurrentFile = String.Empty; m_CurrentFileId = -1; m_Title = StringResources.TaggedMusic; m_MusicList = Ares.Data.DataModule.ElementFactory.CreateRandomBackgroundMusicList(m_Title); m_ModeElement = Ares.Data.DataModule.ElementFactory.CreateModeElement(m_Title, m_MusicList); m_CurrentChoices = new List <String>(); ProjectCallbacks.Instance.AddCallbacks(this); }
private static String GetElementDisplayName(IModeElement modeElement, IProject project) { if (modeElement == null) { return(StringResources.InvalidModeElement); } IMode mode = FindMode(modeElement, project); return(String.Format(StringResources.ModeElementDisplay, mode != null ? mode.Title : StringResources.InvalidModeElement, modeElement.Title)); }
private void selectConditionElementButton_Click(object sender, EventArgs e) { System.Windows.Forms.ContextMenu menu = CreateElementSelectionMenu((IModeElement element) => { m_CurrentConditionElement = element; conditionElementBox.Text = GetElementDisplayName(element, m_Project); if (element != null && !String.IsNullOrEmpty(errorProvider.GetError(conditionElementBox))) { errorProvider.SetError(conditionElementBox, String.Empty); } }); menu.Show(conditionGroupBox, new Point(selectConditionElementButton.Left, selectConditionElementButton.Bottom)); }
private static IMode FindMode(IModeElement modeElement, IProject project) { foreach (IMode mode in project.GetModes()) { foreach (IModeElement element in mode.GetElements()) { if (element == modeElement) { return(mode); } } } return(null); }
public void SetElement(IWebRadioElement element, IProject project, IModeElement modeElement) { ElementId = element.Id; m_Element = element; m_ModeElement = modeElement; m_Project = project; volumeControl.SetElement(element, project); fileVolumeControl.SetContainer(null, project); fileVolumeControl.SetEffects(element); listen = false; urlBox.Text = element.Url; listen = true; Update(m_Element.Id, Actions.ElementChanges.ChangeType.Renamed); Actions.ElementChanges.Instance.AddListener(ElementId, Update); }
public static string GetNodeTitle(this IModeElement modeElement) { ITrigger trigger = modeElement.Trigger; if (trigger != null && trigger.TriggerType == TriggerType.Key) { KeysConverter converter = new KeysConverter(); int keyCode = (trigger as IKeyTrigger).KeyCode; return(modeElement.Title + " (" + (keyCode != 0 ? converter.ConvertToString((System.Windows.Forms.Keys)keyCode) : StringResources.NoKey) + ")"); } else { // at first, as long as there are no other triggers return(modeElement.Title + " (" + StringResources.NoKey + ")"); } }
public IModeElement GetModeElementDefinition(ITargetDirectoryProvider targetDirectoryProvider) { IElementContainer <IParallelElement> container = DataModule.ElementFactory.CreateParallelContainer("Test-Szenario"); IModeElement modeElement = DataModule.ElementFactory.CreateModeElement("Test-Szenario", container); IRandomBackgroundMusicList music = DataModule.ElementFactory.CreateRandomBackgroundMusicList("Musik"); container.AddElement(music); IBackgroundSounds sounds = DataModule.ElementFactory.CreateBackgroundSounds("Sounds"); container.AddElement(sounds); IBackgroundSoundChoice soundChoice1 = sounds.AddElement("Auswahl 1"); music.AddElement(DataModule.ElementFactory.CreateFileElement(targetDirectoryProvider.GetPathWithinLibrary(m_MusicResource), SoundFileType.Music)); soundChoice1.AddElement(DataModule.ElementFactory.CreateFileElement(targetDirectoryProvider.GetPathWithinLibrary(m_SoundResource), SoundFileType.SoundEffect)); return(modeElement); }
public int AddElement(IElement element) { if (element is IGeneralElementContainer) { foreach (IContainerElement containerElement in (element as IGeneralElementContainer).GetGeneralElements()) { AddElement(containerElement.InnerElement); } } else if (element is IModeElement) { IModeElement me = (element as IModeElement); if (me.StartElement != null) { AddElement(me.StartElement); } } // do NOT follow references int id = element.Id; AddElement(ref id, element); element.Id = id; return(id); }
public void DeleteElement(int id) { if (m_Elements.ContainsKey(id)) { IElement element = m_Elements[id]; if (element is IGeneralElementContainer) { foreach (IContainerElement containerElement in (element as IGeneralElementContainer).GetGeneralElements()) { DeleteElement(containerElement.InnerElement.Id); } } else if (element is IModeElement) { IModeElement me = (element as IModeElement); if (me.StartElement != null) { DeleteElement(me.StartElement.Id); } } // do NOT follow references ;-) m_Elements.Remove(id); } }
public ModeElementPlayer(IModeElement modeElement, IProjectPlayingCallbacks callbacks, Action <StartElementPlayer> finishedAction, bool playMusicOnAllSpeakers) : base(modeElement.StartElement, finishedAction, playMusicOnAllSpeakers) { m_Mode = modeElement; m_Callbacks = callbacks; }
public SetModeElementTriggerAction(IModeElement modeElement, ITrigger trigger) { m_ModeElement = modeElement; m_OldTrigger = modeElement.Trigger; m_NewTrigger = trigger; }
public SetModeElementVisibleAction(IModeElement modeElement, bool visibleInPlayer) { m_ModeElement = modeElement; m_OldVisible = modeElement.IsVisibleInPlayer; m_NewVisible = visibleInPlayer; }
public ITagCommand CreateTagCommand(int categoryId, int tagId, bool addTag, MacroConditionType conditionType, IModeElement conditionElement) { return(new TagCommand(categoryId, tagId, addTag, conditionType, conditionElement)); }
public void ModeElementFinished(IModeElement element) { }
public void ModeElementStarted(IModeElement element) { }
public IWaitConditionCommand CreateWaitCondition(MacroConditionType awaitedConditionType, IModeElement awaitedConditionElement, MacroConditionType conditionType, IModeElement conditionElement) { return(new WaitConditionCommand(awaitedConditionType, awaitedConditionElement, conditionType, conditionElement)); }
public IRemoveAllTagsCommand CreateRemoveAllTagsCommand(MacroConditionType conditionType, IModeElement conditionElement) { return(new RemoveAllTagsCommand(conditionType, conditionElement)); }
public IWaitTimeCommand CreateWaitTime(int timeInMillis, MacroConditionType conditionType, IModeElement conditionElement) { return(new WaitTimeCommand(timeInMillis, conditionType, conditionElement)); }
public IStopCommand CreateStopCommand(IModeElement startedElement, MacroConditionType conditionType, IModeElement conditionElement) { return(new StopCommand(startedElement, conditionType, conditionElement)); }