예제 #1
0
        void ChangeSearchEngine(s3dCore.SearchEngines.ISearchEngine newEngine)
        {
            if (currentSearchEngine != null && newEngine.GetType() == currentSearchEngine.GetType()) return;

            if (workerThread.IsBusy)
            {
                searchBtn.Content = "Cancelling...";
                workerThread.CancelAsync();
                this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, ((Action)delegate { ChangeSearchEngine(newEngine); }));
            }

            currentSearchEngine = newEngine;
            customUI.Children.Clear();
            if (newEngine.GetSearchControl() != null)
            {
                customUI.Children.Add(newEngine.GetSearchControl());
            }
            currentSearchEngine.Reset();
            searchBtn.Content = currentSearchEngine.GetSearchButtonTitle();

            if (currentSearchEngine.IsSearchTextBoxVisible())
            {
                patternTb.Visibility = Visibility.Visible;
            }
            else
            {
                patternTb.Visibility = Visibility.Collapsed;
            }
        }
예제 #2
0
        void ChangeLayout(s3dCore.ListLayout.IListLayout newLayout)
        {
            if (currentLayout != null && currentLayout.GetType() == newLayout.GetType())
            {
                return;
            }

            currentLayout = newLayout;
            currentLayout.ResetData();
            camControler.ChangeLayout(currentLayout);

            if (currentLayout.CanMoveHorizontally() == false)
            {
                viewLeftBtn.Visibility = Visibility.Collapsed;
                viewRightBtn.Visibility = Visibility.Collapsed;
            }
            else
            {
                viewLeftBtn.Visibility = Visibility.Visible;
                viewRightBtn.Visibility = Visibility.Visible;
            }

            // copy elements
            List<s3dCore.SearchEngines.ISearchElement> tempList = new List<s3dCore.SearchEngines.ISearchElement>(currentList.Count);
            foreach (s3dCore.SearchEngines.ISearchElement elem in currentList.Values)
            {
                tempList.Add(elem);
            }
            currentList.Clear();
            mainViewport.Children.Clear();
            foreach (s3dCore.SearchEngines.ISearchElement element in tempList)
            {
                ModelUIElement3D model3D = CreateModel(element.GetContentBrush());

                mainViewport.Children.Add(model3D);
                currentList.Add(model3D, element);
            }
            camControler.MoveToStartPosition();
        }