src/FingersDance.ActionFactory/ActionGenerator.cs
author cavaliet
Thu, 19 Nov 2009 18:37:26 +0100
changeset 214 beebae32b1ed
parent 156 e16c8c913c65
permissions -rw-r--r--
third step of search : better integration of search panel and debug from loaded search project and annotated project.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     1
using System;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     2
using System.Collections.Generic;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     3
using System.Linq;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     4
using System.Text;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     5
using FingersDance.Actions;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     6
156
e16c8c913c65 Color Factory et application des couleurs au pivot
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 146
diff changeset
     7
namespace FingersDance.Factory
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     8
{
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     9
    public class ActionGenerator
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    10
    {
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    11
        private Dictionary<String, Type> actionDict = new Dictionary<string, Type>();
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    12
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    13
        public ActionGenerator()
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    14
        {
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    15
            actionDict.Add("ActionPlayMedia", typeof(FingersDance.Actions.ActionPlayMedia));
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    16
            actionDict.Add("ActionShowMessage", typeof(FingersDance.Actions.ActionShowMessage));
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    17
            actionDict.Add("ActionOpenMedia", typeof(FingersDance.Actions.ActionOpenMedia));
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    18
            actionDict.Add("ActionStopMedia", typeof(FingersDance.Actions.ActionStopMedia));
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    19
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 138
diff changeset
    20
            actionDict.Add("ActionStartOrEndAnnotation", typeof(FingersDance.Actions.ActionStartOrEndAnnotation));
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    21
            actionDict.Add("ActionAddAnnotation", typeof(FingersDance.Actions.ActionAddAnnotation));
214
beebae32b1ed third step of search : better integration of search panel and debug from loaded search project and annotated project.
cavaliet
parents: 156
diff changeset
    22
            actionDict.Add("ActionSearchAnnotation", typeof(FingersDance.Actions.ActionSearchAnnotation));
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    23
        }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    24
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    25
        public ActionBase GetAction(String T, Object Args)
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    26
        {
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    27
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    28
            try
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    29
            {
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    30
                ActionBase ab = (ActionBase)Activator.CreateInstance(actionDict[T], Args);
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    31
                return ab;
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    32
            }
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    33
            catch (Exception ex) { }
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    34
            return null;
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    35
        }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    36
    }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    37
}