예제 #1
0
        public ShellApp(TPadCore core, ITPadAppContainer container, ITPadAppController controller, TPadApplicationDescriptor descriptor)
        {
            Core = core;
              Container = container;
              Controller = controller;
              Profile = core.Profile;
              ShellDescriptor = descriptor;
              ShellDescriptor.Instance = this;

              NotificationDialogDescriptor = new TPadApplicationDescriptor()
              {
            AppType = typeof(NotificationDialog),
            AppUUID = Guid.NewGuid(),
            Icon = Properties.Resources.NotificationDialog
              };

              NotificationDialogDescriptor.Instance = new NotificationDialog(Core, NotificationDialogDescriptor.AppUUID);
              NotificationDialogDescriptor.Instance.Closed += application_Closed;
              NotificationDialogDescriptor.Instance.IsTopApp += application_IsTopApp;
              (NotificationDialogDescriptor.Instance as NotificationDialog).ClickedOK += new EventHandler(notification_ClickedOK);
              (NotificationDialogDescriptor.Instance as NotificationDialog).ClickedCancel += new EventHandler(notification_ClickedCancel);
              NotificationDialogDescriptor.Events.Add(TPadEvent.Flipping);

              Applications = new ObservableCollection<TPadApplicationDescriptor>();
              RunningApps = new ObservableCollection<TPadApplicationDescriptor>();
              InitializeComponent();

              core.GlyphsChanged += core_GlyphsChanged;
              core.Device.FlippingChanged += new FlippingChangedEventHandler(Device_FlippingChanged);
              core.Device.DeviceShaked += new EventHandler(Device_DeviceShaked);
              core.Device.HomePressed += new HomeButtonEventEventHandler(Device_HomePressed);
        }
예제 #2
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     InfCaptureApp capture = new InfCaptureApp(core, container, controller, descriptor.AppUUID);
       capture.Conditions = Conditions;
       capture.ExperimentalOrder = ExperimentalOrder;
       capture.Activate(settings.Context);
       return capture;
 }
예제 #3
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
 public TPadApplicationDescriptor GetApplicationDescriptor()
 {
     TPadApplicationDescriptor descriptor = new TPadApplicationDescriptor()
       {
     Name = "InfCapture",
     Icon = UofM.HCI.tPad.App.InfCapture.Properties.Resources.InfCaptureIcon,
     AppType = typeof(InfCaptureApp),
     AppUUID = Guid.NewGuid(),
     Launcher = this
       };
       return descriptor;
 }
예제 #4
0
        public TPadApplicationDescriptor GetApplicationDescriptor()
        {
            TPadApplicationDescriptor descriptor = new TPadApplicationDescriptor()
              {
            Name = "InfProvider",
            Icon = instanceIconPath,
            AppType = typeof(InfProviderApp),
            AppUUID = instanceUUID,
            Launcher = this
              };

              return descriptor;
        }
예제 #5
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
        public TPadApplicationDescriptor GetApplicationDescriptor()
        {
            TPadApplicationDescriptor descriptor = new TPadApplicationDescriptor()
              {
            Name = "QReader",
            Icon = UofM.HCI.tPad.App.QReader.Properties.Resources.QReaderIcon,
            AppType = typeof(QReaderApp),
            AppUUID = Guid.NewGuid(),
            Launcher = this
              };

              return descriptor;
        }
예제 #6
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
        public TPadApplicationDescriptor GetApplicationDescriptor()
        {
            TPadApplicationDescriptor descriptor = new TPadApplicationDescriptor()
              {
            Name = "Photo Album",
            Icon = UofM.HCI.tPad.App.PhotoAlbum.Properties.Resources.PhotoAlbumIcon,
            AppType = typeof(PhotoAlbumApp),
            AppUUID = Guid.NewGuid(),
            Launcher = this
              };

              return descriptor;
        }
예제 #7
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
        public TPadApplicationDescriptor GetApplicationDescriptor()
        {
            TPadApplicationDescriptor descriptor = new TPadApplicationDescriptor()
              {
            Name = "Calculator",
            Icon = UofM.HCI.tPad.App.Calculator.Properties.Resources.CalculatorIcon,
            AppType = typeof(CalculatorApp),
            AppUUID = Guid.NewGuid(),
            Launcher = this
              };
              descriptor.Triggers.Add(Glyph.Triangle);

              return descriptor;
        }
예제 #8
0
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     InfProviderApp provider = new InfProviderApp(core, container, controller, descriptor);
       provider.Activate(settings.Context);
       return provider;
 }
예제 #9
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     QReaderApp reader = new QReaderApp(core, container, controller, descriptor.AppUUID);
       reader.Activate(settings.Context);
       return reader;
 }
예제 #10
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
        public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
        {
            ActiveReaderApp appInstance = new ActiveReaderApp(core, container, controller, descriptor.AppUUID);

              return appInstance;
        }
예제 #11
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     PhotoAlbumApp photoAlbum = new PhotoAlbumApp(core, container, controller, descriptor.AppUUID);
       photoAlbum.Activate(settings.Context);
       return photoAlbum;
 }
예제 #12
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     GraphExplorerApp graphExplorer = new GraphExplorerApp(core, container, controller, descriptor.AppUUID);
       return graphExplorer;
 }
예제 #13
0
파일: Launcher.cs 프로젝트: hcilab-um/tPad
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     CalculatorApp calculator = new CalculatorApp(core, container, controller, descriptor.AppUUID);
       calculator.Activate(settings.Context);
       return calculator;
 }
예제 #14
0
 private void Minimize(TPadApplicationDescriptor descriptor)
 {
     Container.Hide(descriptor.Instance);
 }
예제 #15
0
        private void LaunchApp(TPadApplicationDescriptor descriptor, Dictionary<String, Object> appContext = null, bool foreground = true)
        {
            if (descriptor == null)
            return;

              TPadLauncherSettings settings = new TPadLauncherSettings();
              settings.Context = appContext;

              ITPadApp application = descriptor.Launcher.GetAppInstance(descriptor, Container, Controller, Core, settings);
              descriptor.Instance = application;
              descriptor.Instance.Closed += application_Closed;
              descriptor.Instance.IsTopApp += application_IsTopApp;
              descriptor.Instance.RequestFocus += application_RequestFocus;
              descriptor.Instance.RequestAction += application_RequestAction;

              if (descriptor.AppType == typeof(InfSeeking.InfSeekingApp))
              {
            (descriptor.Instance as InfSeeking.InfSeekingApp).GetTarget += ShellApp_GetTarget;
            (descriptor.Instance as InfSeeking.InfSeekingApp).SendResultOK += ShellApp_SendResultOK;
            (descriptor.Instance as InfSeeking.InfSeekingApp).SendErrorData += ShellApp_SendErrorData;
            (descriptor.Instance as InfSeeking.InfSeekingApp).SearchStarted += ShellApp_SearchStarted;
              }
              else if (descriptor.AppType == typeof(InfSeeking.InfProviderApp))
              {
            (descriptor.Instance as InfSeeking.InfProviderApp).GetTarget += ShellApp_GetTarget;
              }

              descriptor.RunningSide = Core.Device.FlippingSide;

              RunningApps.Add(descriptor);

              Container.LoadTPadApp(application, foreground);
        }
예제 #16
0
 public ITPadApp GetAppInstance(TPadApplicationDescriptor descriptor, ITPadAppContainer container, ITPadAppController controller, TPadCore core, TPadLauncherSettings settings)
 {
     InfSeekingApp seeker = new InfSeekingApp(core, container, controller, descriptor.AppUUID);
       seeker.Activate(settings.Context);
       return seeker;
 }
예제 #17
0
 private void BringToFront(TPadApplicationDescriptor descriptor, Dictionary<string, Object> context)
 {
     descriptor.RunningSide = Core.Device.FlippingSide;
       descriptor.Instance.Activate(context);
       Container.Show(descriptor.Instance);
 }