Example #1
0
        private bool ParseUrlParameters(ActivityWindow activityWindow)
        {
            if (IsRunningOutOfBrowser)
            {
                return(false);
            }

            bool foundParam = false;

            if (queryString.ContainsKey(PARAMETER_ACTIVITY))
            {
                activityWindow.LoadOptions(makeActivityUri(queryString[PARAMETER_ACTIVITY]));
                foundParam = true;
            }

            if (queryString.ContainsKey(PARAMETER_MEDIA))
            {
                WaitTillNotBusy(activityWindow); //TODO: doesn't work (should wait for any activity to load first)
                MediaPlayerWindow w = new MediaPlayerWindow();
                w.Width  = activityWindow.Width;
                w.Height = activityWindow.Height - (activityWindow.ActivityView.ToolbarVisible ? 80 : 0); //TODO: should change this if/when activity toolbar is made vertical (have option to get ActualWidth/ActualHeight of activity toolbar)
                activityWindow.Container.AddWindowInViewCenter(w);
                w.MediaPlayerView.Source = makeClipUri(CLIPFLAIR_GALLERY_VIDEO, queryString[PARAMETER_MEDIA]);
                foundParam = true;
            }

            if (queryString.ContainsKey(PARAMETER_VIDEO))
            {
                WaitTillNotBusy(activityWindow); //TODO: doesn't work (should wait for any activity to load first)
                MediaPlayerWindow w = new MediaPlayerWindow();
                w.Width  = activityWindow.Width;
                w.Height = activityWindow.Height - (activityWindow.ActivityView.ToolbarVisible ? 80 : 0); //TODO: should change this if/when activity toolbar is made vertical (have option to get ActualWidth/ActualHeight of activity toolbar)
                activityWindow.Container.AddWindowInViewCenter(w);
                w.MediaPlayerView.Source = makeClipUri(CLIPFLAIR_GALLERY_VIDEO, queryString[PARAMETER_VIDEO]);
                foundParam = true;
            }

            if (queryString.ContainsKey(PARAMETER_AUDIO))
            {
                WaitTillNotBusy(activityWindow); //TODO: doesn't work (should wait for any activity to load first)
                MediaPlayerWindow w = new MediaPlayerWindow();
                w.Width  = activityWindow.Width;
                w.Height = 69; //Using small height since there's only audio //NOTE: if SMF skin changes this may not look ok
                activityWindow.Container.AddWindowInViewCenter(w);
                w.MediaPlayerView.VideoVisible = false;
                w.MediaPlayerView.Source       = new Uri(new Uri(CLIPFLAIR_GALLERY_AUDIO), queryString[PARAMETER_AUDIO]);
                foundParam = true;
            }

            if (queryString.ContainsKey(PARAMETER_IMAGE))
            {
                WaitTillNotBusy(activityWindow); //TODO: doesn't work (should wait for any activity to load first)
                ImageWindow w = new ImageWindow();
                w.Width  = activityWindow.Width;
                w.Height = activityWindow.Height - (activityWindow.ActivityView.ToolbarVisible ? 80 : 0); //TODO: should change this if/when activity toolbar is made vertical (have option to get ActualWidth/ActualHeight of activity toolbar)
                activityWindow.Container.AddWindowInViewCenter(w);
                w.ImageView.Source = new Uri(new Uri(CLIPFLAIR_GALLERY_IMAGE), queryString[PARAMETER_IMAGE]);
                foundParam         = true;
            }

            if (queryString.ContainsKey(PARAMETER_GALLERY))
            {
                WaitTillNotBusy(activityWindow); //TODO: doesn't work (should wait for any activity to load first)
                GalleryWindow w = new GalleryWindow();
                w.Width  = activityWindow.Width;
                w.Height = activityWindow.Height - (activityWindow.ActivityView.ToolbarVisible ? 80 : 0); //TODO: should change this if/when activity toolbar is made vertical (have option to get ActualWidth/ActualHeight of activity toolbar)
                activityWindow.Container.AddWindowInViewCenter(w);
                w.GalleryView.Source = makeGalleryUri(queryString[PARAMETER_GALLERY]);
                foundParam           = true;
            }

            if (queryString.ContainsKey(PARAMETER_COLLECTION))
            {
                WaitTillNotBusy(activityWindow); //TODO: doesn't work (should wait for any activity to load first)
                GalleryWindow w = new GalleryWindow();
                w.Width  = activityWindow.Width;
                w.Height = activityWindow.Height - (activityWindow.ActivityView.ToolbarVisible ? 80 : 0); //TODO: should change this if/when activity toolbar is made vertical (have option to get ActualWidth/ActualHeight of activity toolbar)
                activityWindow.Container.AddWindowInViewCenter(w);
                w.GalleryView.Source = makeGalleryUri(queryString[PARAMETER_COLLECTION]);
                foundParam           = true;
            }

            //TODO: add ...PARAMETER_CAPTIONS, PARAMETER_COMPONENT, TEXT, MAP etc.

            return(foundParam);
        } //TODO: add CAPTIONS parameter to load .SRT/.TTS/.SSA and show it
        private void OnShowControlWindow(string controlName)
        {
            this.Effect = new BlurEffect();

            switch (controlName)
            {
            case "ContactsTree":
                var contactsTreeWindow = new ContactsTreeWindow();
                contactsTreeWindow.ShowDialog();
                break;

            case "ExpertPanel":
                var expertPanelWindow = new ExpertPanelWindow();
                expertPanelWindow.ShowDialog();
                break;

            case "ExpertPanel2":
                var expertPanelWindow2 = new ExpertPanelWindow2();
                expertPanelWindow2.ShowDialog();
                break;

            case "Timer":
                var timerWindow = new TimerWindow();
                timerWindow.ShowDialog();
                break;

            case "MusicPlayer":
                var musicPlayerWindow = new MusicPlayerWindow();
                musicPlayerWindow.ShowDialog();
                break;

            case "MediaPlayer":
                var mediaPlayerWindow = new MediaPlayerWindow();
                mediaPlayerWindow.ShowDialog();
                break;

            case "PeopleResourcePanel":
                var peopleResourcePanelWindow = new PeopleResourcePanelWindow();
                peopleResourcePanelWindow.ShowDialog();
                break;

            case "NotifyMsgPresenter":
                var notifyMsgPresenterWindow = new NotifyMsgPresenterWindow();
                notifyMsgPresenterWindow.ShowDialog();
                break;

            case "MasterDetailDataGrid":
                var masterDetailDataGridWindow = new MasterDetailDataGridWindow();
                masterDetailDataGridWindow.ShowDialog();
                break;

            case "FlexDataGrid":
                var flexDataGridWindow = new FlexDataGridWindow();
                flexDataGridWindow.ShowDialog();
                break;

            case "DataGridDetailListWindow":
                var dataGridDetailListWindow = new DataGridDetailListWindow();
                dataGridDetailListWindow.ShowDialog();
                break;

            case "BindingDemoWindow":
                var bindingDemoWindow = new BindingDemoWindow();
                bindingDemoWindow.ShowDialog();
                break;

            case "SwapImageDemoWindow":
                var swapImageDemoWindow = new SwapImageDemoWindow();
                swapImageDemoWindow.ShowDialog();
                break;

            case "CircularLoadingWindow":
                var circularLoadingWindow = new CircularLoadingWindow();
                circularLoadingWindow.ShowDialog();
                break;

            case "LoadingControlWindow":
                var loadingControlWindow = new LoadingControl.LoadingControlWindow();
                loadingControlWindow.ShowDialog();
                break;

            case "CalloutBorderStyleWindow":
                var calloutBorderStyleWindow = new CalloutBorderStyleWindow();
                calloutBorderStyleWindow.ShowDialog();
                break;

            case "MeasureOverrideAndArrangeOverrideWindow":
                var measureOverrideAndArrangeOverrideWindow = new MeasureOverrideAndArrangeOverrideWindow();
                measureOverrideAndArrangeOverrideWindow.ShowDialog();
                break;

            case "DrawingDemoWindow":
                var drawingDemoWindow = new DrawingDemoWindow();
                drawingDemoWindow.ShowDialog();
                break;

            case "WaterMarkDemoWindow":
                var waterMarkDemoWindow = new WaterMarkDemoWindow();
                waterMarkDemoWindow.ShowDialog();
                break;

            case "MultiUiThreadingDemoWindow":
                var mutliUiThreadingDemoWindow = new MultiUiThreadingDemoWindow();
                mutliUiThreadingDemoWindow.ShowDialog();
                break;

            case "CustomPixelShaderDemo":
                var customPixelShaderDemo = new CustomPixelShaderDemo.CustomPixelShaderDemo();
                customPixelShaderDemo.ShowDialog();
                break;

            case "GifShowDemoWindow":
                var gifShowDemoWindow = new GifShowDemoWindow();
                gifShowDemoWindow.ShowDialog();
                break;

            case "NewCallAnimationWindow":
                var newCallAnimationWindow = new NewCallAnimationWindow();
                newCallAnimationWindow.ShowDialog();
                break;

            case "GenerateBitmapDemo":
                var generateBitmapDemo = new GenerateBitmapDemo.GenerateBitmapDemo();
                generateBitmapDemo.ShowDialog();
                break;

            case "FontFamilyDemoWindow":
                var fontFamilyDemoWindow = new FontFamilyDemoWindow();
                fontFamilyDemoWindow.ShowDialog();
                break;

            case "FoucsDemoWindow":
                var foucsDemoWindow = new FoucsDemoWindow();
                foucsDemoWindow.ShowDialog();
                break;

            case "KeyBoardInputWindow":
                var keyBoardInputWindow = new KeyBoardInputWindow();
                keyBoardInputWindow.ShowDialog();
                break;

            case "EllipsisLoadingDemoWindow":
                var ellipsisLoadingDemoWindow = new EllipsisLoadingDemoWindow();
                ellipsisLoadingDemoWindow.ShowDialog();
                break;

            case "ImagePerformanceWindow":
                var imagePerformanceWindow = new ImagePerformanceWindow();
                imagePerformanceWindow.ShowDialog();
                break;

            case "CollectionViewWindow":
                var collectionViewWindow = new CollectionViewWindow();
                collectionViewWindow.ShowDialog();
                break;

            case "MultiSceenDemoWindow":
                var multiSceenDemoWindow = new MultiSceenDemoWindow();
                multiSceenDemoWindow.ShowDialog();
                break;

            case "ResourceDictionaryCodeBehindWindow":
                var resourceDictionaryCodeBehindWindow = new ResourceDictionaryCodeBehindWindow();
                resourceDictionaryCodeBehindWindow.ShowDialog();
                break;

            case "TreeViewDemoWindow":
                var treeViewDemoWindow = new TreeViewDemoWindow();
                treeViewDemoWindow.ShowDialog();
                break;

            case "GroupExpanderWindow":
                var groupExpanderWindow = new GroupExpanderWindow();
                groupExpanderWindow.ShowDialog();
                break;

            case "ShortCutDemoWindow":
                var shortCutDemoWindow = new ShortCutDemoWindow();
                shortCutDemoWindow.ShowDialog();
                break;

            case "ScreenDragMainWindow":
                var screenDragMainWindow = new ScreenDragMainWindow();
                screenDragMainWindow.ShowDialog();
                break;

            case "AnimationPerformanceWindow":
                var animationPerformanceWindow = new AnimationPerformanceWindow();
                animationPerformanceWindow.ShowDialog();
                break;

            case "FluidLayoutDemoWindow":
                var fluidLayoutDemoWindow = new FluidLayoutDemoWindow();
                fluidLayoutDemoWindow.ShowDialog();
                break;

            case "DragableTabControlDemo":
                var dragableTabControlDemo = new DragableTabControlDemo.DragableTabControlDemo();
                dragableTabControlDemo.ShowDialog();
                break;

            case "DragableListBoxDemo":
                var dragableListBoxDemo = new DragableListBoxDemo.DragableListBoxDemo();
                dragableListBoxDemo.ShowDialog();
                break;

            case "CustomWindowDemo":
                var customWindowDemo = new CustomWindowDemo();
                customWindowDemo.ShowDialog();
                break;

            case "AdornerControlWindow":
                var adornerControlWindow = new AdornerControlWindow();
                adornerControlWindow.ShowDialog();
                break;

            case "ItemsControlWithTimelineWindow":
                var itemsControlWithTimelineWindow = new ItemsControlWithTimelineWindow();
                itemsControlWithTimelineWindow.ShowDialog();
                break;

            case "IsSynchronizedWithCurrentItemWindow":
                var isSynchronizedWithCurrentItemWindow = new IsSynchronizedWithCurrentItemWindow();
                isSynchronizedWithCurrentItemWindow.ShowDialog();
                break;

            case "ColorfulTextBlockWindow":
                var colorfulTextBlockWindow = new ColorfulTextBlockWindow();
                colorfulTextBlockWindow.ShowDialog();
                break;
            }

            this.Effect = null;
        }
Example #3
0
        public MainWindow()
        {
            InitializeComponent();

            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(EventCurrentDomainUnhandledException);

            this.DataContext = this;

            iExtendedNotifyIcon = new ExtendedNotifyIcon(Properties.Resources.Icon);
            iExtendedNotifyIcon.Click += EventNotifyIconClick;
            iExtendedNotifyIcon.RightClick += EventNotifyIconRightClick;

            System.Windows.Forms.ContextMenu menu = new System.Windows.Forms.ContextMenu();

            System.Windows.Forms.MenuItem open = new System.Windows.Forms.MenuItem("Open", new EventHandler(EventContextMenuOpen));
            System.Windows.Forms.MenuItem exit = new System.Windows.Forms.MenuItem("Exit", new EventHandler(EventContextMenuExit));

            menu.MenuItems.Add(open);
            menu.MenuItems.Add(exit);

            iExtendedNotifyIcon.ContextMenu = menu;

            Left = SystemParameters.WorkArea.Width - LayoutRoot.Width - 10;
            Top = SystemParameters.WorkArea.Height - LayoutRoot.Height - 2;

            iConfigurationWindow = new ConfigurationWindow();
            iMediaPlayerWindow = new MediaPlayerWindow(iConfigurationWindow.Enabled, this);

            iConfigurationWindow.Left = Left;
            iConfigurationWindow.Top = Top - iConfigurationWindow.LayoutRoot.Height + 1;

            iMediaPlayerWindow.Left = Left;
            iMediaPlayerWindow.Top = Top - iMediaPlayerWindow.LayoutRoot.Height + 1;

            // Locate these storyboards and "cache" them - we only ever want to find these once for performance reasons
            iStoryBoardFadeIn = (Storyboard)this.TryFindResource("storyBoardFadeIn");
            iStoryBoardFadeIn.Completed += new EventHandler(EventStoryBoardFadeInCompleted);
            iStoryBoardFadeOut = (Storyboard)TryFindResource("storyBoardFadeOut");
            iStoryBoardFadeOut.Completed += new EventHandler(EventStoryBoardFadeOutCompleted);

            this.Closing += EventWindowClosing;

            System.Drawing.Image image = OpenHome.Songcast.Properties.Resources.Icon.ToBitmap();

            MemoryStream stream = new MemoryStream();

            image.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);

            byte[] bytes = stream.ToArray();

            try
            {
                iSongcast = new Songcast("av.openhome.org", iConfigurationWindow.Subnet, iConfigurationWindow.Channel, iConfigurationWindow.Ttl, iConfigurationWindow.Latency, iConfigurationWindow.Multicast, iConfigurationWindow.Enabled, iConfigurationWindow.Preset, iMediaPlayerWindow.ReceiverList, iConfigurationWindow.SubnetList, this, "OpenHome", "http://www.openhome.org", "http://www.openhome.org", bytes, "image/bmp");
            }
            catch (SongcastError e)
            {
                MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                App.Current.Shutdown(1);
            }

            iConfigurationWindow.SubnetChanged += EventSubnetChanged;
            iConfigurationWindow.MulticastChanged += EventMulticastChanged;
            iConfigurationWindow.ChannelChanged += EventMulticastChannelChanged;
            iConfigurationWindow.TtlChanged += EventTtlChanged;
            iConfigurationWindow.LatencyChanged += EventLatencyChanged;
            iConfigurationWindow.PresetChanged += EventPresetChanged;

            bool value = iConfigurationWindow.Enabled;

            iMediaPlayerWindow.SetEnabled(value);

            Settings.Click += new RoutedEventHandler(EventSettingsClick);
            Receivers.Click += new RoutedEventHandler(EventReceiversClick);

            this.Topmost = true;
            iConfigurationWindow.Topmost = true;
            iMediaPlayerWindow.Topmost = true;
        }