コード例 #1
0
        private bool ChangeAPIMapping(bool showNewMappingMessage = false)
        {
            RepositoryFolder <ApplicationAPIModel> APIModels = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>();

            if (APIModels.GetFolderItems().Count == 0)
            {
                Reporter.ToUser(eUserMsgKeys.NoAPIExistToMappedTo);
                return(false);
            }

            if (showNewMappingMessage)
            {
                Reporter.ToUser(eUserMsgKeys.APIMappedToActionIsMissing);
            }

            if (apiModelPage == null)
            {
                AppApiModelsFolderTreeItem apiRoot = new AppApiModelsFolderTreeItem(APIModels);
                apiModelPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single);
            }
            List <object> selectedList = apiModelPage.ShowAsWindow();

            if (selectedList != null && selectedList.Count == 1)
            {
                AAMB = (ApplicationAPIModel)selectedList[0];
                mAct.APImodelGUID = AAMB.Guid;
                return(true);
            }

            return(false);
        }
コード例 #2
0
        private void SelectPOM_Click(object sender, RoutedEventArgs e)
        {
            if (mApplicationPOMSelectionPage == null)
            {
                ApplicationPOMsTreeItem pOMsRoot = new ApplicationPOMsTreeItem(mPOMModelFolder);
                mApplicationPOMSelectionPage = new SingleItemTreeViewSelectionPage("Page Objects Model Element", eImageType.ApplicationPOMModel, pOMsRoot,
                                                                                   SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                   new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                              nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                              App.BusinessFlow.CurrentActivity.TargetApplication));
            }

            List <object> selectedPOMs = mApplicationPOMSelectionPage.ShowAsWindow();

            if (selectedPOMs != null && selectedPOMs.Count > 0)
            {
                mSelectedPOM = (ApplicationPOMModel)selectedPOMs[0];
                SetPOMPathToShow();

                if (mOnlyPOMRequest)
                {
                    mObjectLocateValue.GetType().GetProperty(mLocateValueFieldName).SetValue(mObjectLocateValue, mSelectedPOM.Guid.ToString());
                }
                else
                {
                    xPOMElementsGrid.DataSourceList = GenerateElementsDataSourseList();
                    xPOMElementTextBox.Text         = string.Empty;
                    mObjectLocateValue.GetType().GetProperty(mLocateValueFieldName).SetValue(mObjectLocateValue, string.Empty);
                    SetElementTypeProperty(eElementType.Unknown);
                }
                AllowElementSelection();
            }
        }
コード例 #3
0
        public POMNavPage(Context context)
        {
            InitializeComponent();

            App.AutomateBusinessFlowEvent -= App_AutomateBusinessFlowEventAsync;
            App.AutomateBusinessFlowEvent += App_AutomateBusinessFlowEventAsync;

            mContext = context;

            xPomElementsListView.ListTitleVisibility = Visibility.Hidden;
            mPOMListHelper = new ElementInfoListViewHelper(mContext, General.eRIPageViewMode.AddFromModel);
            xPomElementsListView.SetDefaultListDataTemplate(mPOMListHelper);
            xPomElementsListView.ListSelectionMode = SelectionMode.Extended;
            mPOMListHelper.ListView = xPomElementsListView;

            ApplicationPOMsTreeItem mPOMsRoot = new ApplicationPOMsTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>());

            mItemTypeRootNode = mPOMsRoot;
            mPOMPage          = new SingleItemTreeViewSelectionPage("Page Object Models", eImageType.ApplicationPOMModel, mItemTypeRootNode, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                    new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." + nameof(ApplicationPOMModel.TargetApplicationKey.ItemName), mContext.Activity.TargetApplication),
                                                                    UCTreeView.eFilteroperationType.Equals, showAlerts: false);
            mItemTypeRootNode.SetTools(mPOMPage.xTreeView);
            mPOMPage.xTreeView.SetTopToolBarTools(mPOMsRoot.SaveAllTreeFolderItemsHandler, mPOMsRoot.AddPOM, RefreshTreeItems);
            mContext.PropertyChanged += MContext_PropertyChanged;
            mPOMPage.OnSelect        += MainTreeView_ItemSelected;
            //SetElementsGridView();
            mPOMPage.HorizontalAlignment           = HorizontalAlignment.Stretch;
            mPOMPage.xTreeView.HorizontalAlignment = HorizontalAlignment.Stretch;
            mPOMPage.xTreeView.SetAddButtonToArrow();
            mPOMPage.Width    = Double.NaN;
            xPOMFrame.Content = mPOMPage;
        }
コード例 #4
0
        private void SelectPOM_Click(object sender, RoutedEventArgs e)
        {
            if (mApplicationPOMSelectionPage == null)
            {
                ApplicationPOMsTreeItem pOMsRoot = new ApplicationPOMsTreeItem(mPOMModelFolder);
                mApplicationPOMSelectionPage = new SingleItemTreeViewSelectionPage("Page Objects Model Element", eImageType.ApplicationPOMModel, pOMsRoot,
                                                                                   SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                   new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                              nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                              App.BusinessFlow.CurrentActivity.TargetApplication));
            }

            List <object> selectedPOMs = mApplicationPOMSelectionPage.ShowAsWindow();

            if (selectedPOMs != null && selectedPOMs.Count > 0)
            {
                mSelectedPOM = (ApplicationPOMModel)selectedPOMs[0];
                SetPOMPathToShow();
                xPOMElementsGrid.DataSourceList = GenerateElementsDataSourseList();
                xPOMElementTextBox.Text         = string.Empty;
                if (mAction is ActUIElement)
                {
                    ((ActUIElement)mAction).ElementType        = eElementType.Unknown;
                    ((ActUIElement)mAction).ElementLocateValue = string.Empty;
                }
                else
                {
                    mAction.LocateValue = string.Empty;
                }
                SelectElement();
            }
        }
コード例 #5
0
        private void OpenAPITreeSelection()
        {
            if (apiModelTreeSelectionPage == null)
            {
                AppApiModelsFolderTreeItem apiRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());
                apiModelTreeSelectionPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                                new System.Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                                  nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                                  System.Convert.ToString(mContext.Activity.TargetApplication)));
            }

            Window selectionPageOwenr = App.MainWindow;

            if (((WizardWindow)mAddApiModelActionWizardPage.mWizardWindow).IsVisible)
            {
                selectionPageOwenr = ((WizardWindow)mAddApiModelActionWizardPage.mWizardWindow);
            }

            List <object> selectedList = apiModelTreeSelectionPage.ShowAsWindow(ownerWindow: selectionPageOwenr);

            if (selectedList != null)
            {
                //Todo: Add folder inside folder with API's adding support
                foreach (ApplicationAPIModel aamb in selectedList)
                {
                    mAddApiModelActionWizardPage.AAMList.Add(aamb);
                }
            }
        }
コード例 #6
0
        private bool ChangeAPIMapping(bool showNewMappingMessage = false)
        {
            ObservableList <ApplicationAPIModel> APIModelsList = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <ApplicationAPIModel>();

            if (APIModelsList.Count == 0)
            {
                Reporter.ToUser(eUserMsgKey.NoAPIExistToMappedTo);
                return(false);
            }

            if (showNewMappingMessage)
            {
                Reporter.ToUser(eUserMsgKey.APIMappedToActionIsMissing);
            }

            if (apiModelPage == null)
            {
                RepositoryFolder <ApplicationAPIModel> APIModelsFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>();
                AppApiModelsFolderTreeItem             apiRoot         = new AppApiModelsFolderTreeItem(APIModelsFolder);
                apiModelPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                   new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                              nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                              Convert.ToString(AAMB.TargetApplicationKey)));
            }
            List <object> selectedList = apiModelPage.ShowAsWindow();

            if (selectedList != null && selectedList.Count == 1)
            {
                AAMB = (ApplicationAPIModel)selectedList[0];
                mAct.APImodelGUID = AAMB.Guid;
                return(true);
            }

            return(false);
        }
コード例 #7
0
        public void ReLoadPageItems()
        {
            if (IsRecording)
            {
                IsRecording = false;
                StopRecording();
            }
            SetDriver();
            SetRecordingControls();

            SetSelectedPOMsGridView();
            mApplicationPOMSelectionPage = null;
        }
コード例 #8
0
        /// <summary>
        /// This event is used to open the popup for selection of BusinessFlow and add it to the grid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddBusinessFlow(object sender, RoutedEventArgs e)
        {
            if (mBFSelectionPage == null)
            {
                RepositoryFolder <BusinessFlow> repositoryFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <BusinessFlow>();
                BusinessFlowsFolderTreeItem     bfsRoot          = new BusinessFlowsFolderTreeItem(repositoryFolder);
                mBFSelectionPage = new SingleItemTreeViewSelectionPage("Business Flow", eImageType.BusinessFlow, bfsRoot,
                                                                       SingleItemTreeViewSelectionPage.eItemSelectionType.MultiStayOpenOnDoubleClick, false);
                mBFSelectionPage.SelectionDone += MBFSelectionPage_SelectionDone;
            }
            List <object> selectedBFs = mBFSelectionPage.ShowAsWindow(ownerWindow: ((WizardWindow)mWizard.mWizardWindow));

            AddSelectedBF(selectedBFs);
        }
コード例 #9
0
        private void OpenAPITreeSelection()
        {
            if (apiModelTreeSelectionPage == null)
            {
                AppApiModelsFolderTreeItem apiRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());
                apiModelTreeSelectionPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi);
            }
            List <object> selectedList = apiModelTreeSelectionPage.ShowAsWindow();

            if (selectedList != null)
            {
                //Todo: Add folder inside folder with API's adding support
                foreach (ApplicationAPIModel aamb in selectedList)
                {
                    mAddApiModelActionWizardPage.AAMList.Add(aamb);
                }
            }
        }
コード例 #10
0
        private void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
            ApplicationPOMsTreeItem appModelFolder;
            RepositoryFolder <ApplicationPOMModel> repositoryFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>();

            appModelFolder = new ApplicationPOMsTreeItem(repositoryFolder);
            mApplicationPOMSelectionPage = new SingleItemTreeViewSelectionPage("Page Objects Model Element", eImageType.ApplicationPOMModel, appModelFolder,
                                                                               SingleItemTreeViewSelectionPage.eItemSelectionType.MultiStayOpenOnDoubleClick, true,
                                                                               new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                          nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                          mContext.Activity.TargetApplication));
            mApplicationPOMSelectionPage.SelectionDone += MAppModelSelectionPage_SelectionDone;


            List <object> selectedPOMs = mApplicationPOMSelectionPage.ShowAsWindow();

            AddSelectedPOM(selectedPOMs);
        }
コード例 #11
0
 /// <summary>
 /// Context Property changed event
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Context_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e != null && e.PropertyName == nameof(Context.Agent) || e.PropertyName == nameof(Context.AgentStatus))
     {
         if (IsRecording)
         {
             IsRecording = false;
             StopRecording();
         }
         SetDriver();
         SetRecordingControls();
     }
     else if (e != null && e.PropertyName == nameof(Context.Target))
     {
         SetSelectedPOMsGridView();
         mApplicationPOMSelectionPage = null;
     }
 }
コード例 #12
0
        public APINavPage(Context context)
        {
            InitializeComponent();

            mContext = context;

            AppApiModelsFolderTreeItem mAPIsRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>(), true);

            mItemTypeRootNode = mAPIsRoot;
            mAPIPage          = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, mItemTypeRootNode, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                    new Tuple <string, string>(nameof(ApplicationAPIModel.TargetApplicationKey) + "." + nameof(ApplicationAPIModel.TargetApplicationKey.ItemName), mContext.Activity.TargetApplication),
                                                                    UCTreeView.eFilteroperationType.Equals, showAlerts: false);

            mItemTypeRootNode.SetTools(mAPIPage.xTreeView);
            mAPIPage.xTreeView.SetTopToolBarTools(mAPIsRoot.SaveAllTreeFolderItemsHandler, mAPIsRoot.AddAPIModelFromDocument, RefreshTreeItems);

            mContext.PropertyChanged += MContext_PropertyChanged;
            xAPIFrame.Content         = mAPIPage;
        }
コード例 #13
0
        private void XManualMatchBtn_Click(object sender, RoutedEventArgs e)
        {
            DeltaAPIModel deltaAPI = null;

            deltaAPI = GetFrameElementDataContext(sender) as DeltaAPIModel;

            if (deltaAPI != null)
            {
                int indexOfCurrentDelta = xApisSelectionGrid.DataSourceList.IndexOf(deltaAPI);
                SingleItemTreeViewSelectionPage apiModelTreeSelectionPage = null;
                AppApiModelsFolderTreeItem      apiRoot = new AppApiModelsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationAPIModel>());

                apiModelTreeSelectionPage = new SingleItemTreeViewSelectionPage("API Models", eImageType.APIModel, apiRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                new System.Tuple <string, string>(nameof(ApplicationAPIModel.APIType), deltaAPI.learnedAPI.APIType.ToString()));

                apiModelTreeSelectionPage.xTreeView.Tree.RefresTreeNodeChildrens(apiRoot);

                List <object> selectedList = apiModelTreeSelectionPage.ShowAsWindow("Matching API Models", (Window)AddAPIModelWizard.mWizardWindow);

                ApplicationAPIModel selectedAPIModel = null;
                if (selectedList != null)
                {
                    selectedAPIModel = selectedList.FirstOrDefault() as ApplicationAPIModel;
                    //deltaAPI.matchingAPIModel = selectedAPIModel;

                    ObservableList <ApplicationAPIModel> selectedMatchingAPIList = new ObservableList <ApplicationAPIModel>()
                    {
                        selectedAPIModel
                    };
                    ObservableList <ApplicationAPIModel> apiModelsListLearned = new ObservableList <ApplicationAPIModel>()
                    {
                        deltaAPI.learnedAPI
                    };

                    ObservableList <DeltaAPIModel> comparisonOutputDelta = APIDeltaUtils.DoAPIModelsCompare(apiModelsListLearned, selectedMatchingAPIList);

                    deltaAPI = comparisonOutputDelta.FirstOrDefault();

                    xApisSelectionGrid.DataSourceList[indexOfCurrentDelta] = deltaAPI;
                }
            }
        }
コード例 #14
0
        private void SelectPOM_Click(object sender, RoutedEventArgs e)
        {
            if (mApplicationPOMSelectionPage == null)
            {
                ApplicationPOMsTreeItem pOMsRoot = new ApplicationPOMsTreeItem(mPOMModelFolder);
                mApplicationPOMSelectionPage = new SingleItemTreeViewSelectionPage("Page Objects Model Element", eImageType.ApplicationPOMModel, pOMsRoot,
                                                                                   SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                   new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                              nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                              mTargetApplication));
            }

            List <object> selectedPOMs = mApplicationPOMSelectionPage.ShowAsWindow();

            if (selectedPOMs != null && selectedPOMs.Count > 0)
            {
                mSelectedPOM = (ApplicationPOMModel)selectedPOMs[0];
                UpdatePomSelection();
            }
        }
コード例 #15
0
 private void ExportParametersToDataSource(object sender, RoutedEventArgs e)
 {
     try
     {
         Ginger.SolutionWindows.TreeViewItems.DataSourceFolderTreeItem dataSourcesRoot = new Ginger.SolutionWindows.TreeViewItems.DataSourceFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <DataSourceBase>(), DataSourceFolderTreeItem.eDataTableView.Customized);
         SingleItemTreeViewSelectionPage mDataSourceSelectionPage = new SingleItemTreeViewSelectionPage("DataSource - Customized Table", eImageType.DataSource, dataSourcesRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true);
         List <object> selectedRunSet = mDataSourceSelectionPage.ShowAsWindow();
         if (selectedRunSet != null && selectedRunSet.Count > 0)
         {
             ImportOptionalValuesForParameters im = new ImportOptionalValuesForParameters();
             AccessDataSource     mDSDetails      = (AccessDataSource)(((DataSourceTable)selectedRunSet[0]).DSC);
             string               tableName       = ((DataSourceTable)selectedRunSet[0]).FileName;
             List <AppParameters> parameters      = GetParameterList();
             im.ExportSelectedParametersToDataSouce(parameters, mDSDetails, tableName);
         }
     }
     catch (System.Exception ex)
     {
         Reporter.ToLog(eLogLevel.ERROR, ex.StackTrace);
     }
 }
コード例 #16
0
        /// <summary>
        /// This event is used to open the popup for POM selection
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (mApplicationPOMSelectionPage == null)
            {
                ApplicationPOMsTreeItem appModelFolder;
                RepositoryFolder <ApplicationPOMModel> repositoryFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>();
                appModelFolder               = new ApplicationPOMsTreeItem(repositoryFolder);
                mItemTypeRootNode            = appModelFolder;
                mApplicationPOMSelectionPage = new SingleItemTreeViewSelectionPage("Page Objects Model Element", eImageType.ApplicationPOMModel, appModelFolder,
                                                                                   SingleItemTreeViewSelectionPage.eItemSelectionType.MultiStayOpenOnDoubleClick, false);

                mItemTypeRootNode.SetTools(mApplicationPOMSelectionPage.xTreeView);
                mApplicationPOMSelectionPage.xTreeView.SetTopToolBarTools(appModelFolder.SaveAllTreeFolderItemsHandler, appModelFolder.AddPOM, RefreshTreeItems);

                mApplicationPOMSelectionPage.SelectionDone += MAppModelSelectionPage_SelectionDone;
            }

            List <object> selectedPOMs = mApplicationPOMSelectionPage.ShowAsWindow(ownerWindow: OwnerWindow);

            AddSelectedPOM(selectedPOMs);
        }
コード例 #17
0
        private void GeneratBFButton_Click(object sender, RoutedEventArgs e)
        {
            if (!isBFexists)
            {
                BusinessFlowsFolderTreeItem bfsFolder = new BusinessFlowsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <BusinessFlow>(), eBusinessFlowsTreeViewMode.ReadOnly);

                bfsFolder.IsGingerDefualtFolder = true;
                SingleItemTreeViewSelectionPage mTargetFolderSelectionPage = new SingleItemTreeViewSelectionPage(GingerDicser.GetTermResValue(eTermResKey.BusinessFlows), eImageType.BusinessFlow, bfsFolder, SingleItemTreeViewSelectionPage.eItemSelectionType.Folder, true);

                List <object> selectedBfs = mTargetFolderSelectionPage.ShowAsWindow();
                if (selectedBfs != null)
                {
                    targetBFFolder = (RepositoryFolder <BusinessFlow>)((ITreeViewItem)selectedBfs[0]).NodeObject();
                }
                CreateNewBF(FeatureName);
                CreateActivities();
                WorkSpace.Instance.SolutionRepository.SaveRepositoryItem(mBizFlow);
                if (genWin != null)
                {
                    genWin.Close();
                }
                UpdateBFButton.Content = "Update " + GingerDicser.GetTermResValue(eTermResKey.BusinessFlow);
                isBFexists             = true;
                Reporter.ToUser(eUserMsgKey.BusinessFlowUpdate, mBizFlow.ContainingFolder + "\\" + mBizFlow.Name, "Created");
            }
            else
            {
                UpdateBFButton_Click();
                Reporter.ToUser(eUserMsgKey.BusinessFlowUpdate, mBizFlow.ContainingFolder + "\\" + mBizFlow.Name, "Updated");
            }

            GherkinTextEditor.SetContentEditorTitleLabel(Path.GetFileName(GherkinTextEditor.FileName) + " , Target Business Flow: " + mBizFlow.ContainingFolder + "\\" + mBizFlow.Name, (Style)TryFindResource("@ucGridTitleLightStyle"));

            if (App.BusinessFlow == mBizFlow)
            {
                App.BusinessFlow = mBizFlow;
                App.BusinessFlow.SaveBackup();
            }
        }
コード例 #18
0
        public void WizardEvent(WizardEventArgs WizardEventArgs)
        {
            switch (WizardEventArgs.EventType)
            {
            case EventType.Init:
                wiz = (ImportGherkinFeatureWizard)WizardEventArgs.Wizard;
                if (mContext == eImportGherkinFileContext.DocumentsFolder)
                {
                    BusinessFlowsFolderTreeItem bfsFolder = new BusinessFlowsFolderTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <BusinessFlow>(), eBusinessFlowsTreeViewMode.ReadOnly);

                    mTargetFolderSelectionPage = new SingleItemTreeViewSelectionPage(GingerDicser.GetTermResValue(eTermResKey.BusinessFlows), eImageType.BusinessFlow, bfsFolder, SingleItemTreeViewSelectionPage.eItemSelectionType.Folder, true);
                }
                else if (mContext == eImportGherkinFileContext.BusinessFlowFolder)
                {
                    DocumentsFolderTreeItem documentsFolderRoot = new DocumentsFolderTreeItem();
                    documentsFolderRoot.IsGingerDefualtFolder = true;
                    documentsFolderRoot.Path   = Path.Combine(WorkSpace.Instance.SolutionRepository.SolutionFolder, "Documents");
                    documentsFolderRoot.Folder = "Documents";
                    mTargetFolderSelectionPage = new SingleItemTreeViewSelectionPage("Documents", eImageType.File, documentsFolderRoot, SingleItemTreeViewSelectionPage.eItemSelectionType.Folder, true);
                }
                mTargetFolderSelectionPage.xTreeView.xTreeViewTree.ValidationRules.Add(UCTreeView.eUcTreeValidationRules.NoItemSelected);

                mTargetFolderSelectionPage.OnSelect += MTargetFolderSelectionPage_OnSelectItem;

                TargetPath.Content = mTargetFolderSelectionPage;
                break;

            case EventType.LeavingForNextPage:
                if (mContext == eImportGherkinFileContext.BusinessFlowFolder)
                {
                    wiz.featureTargetFolder = (ITreeViewItem)mTargetFolder;
                }
                else
                {
                    wiz.bizFlowTargetFolder = (ITreeViewItem)mTargetFolder;
                }
                break;
            }
        }
コード例 #19
0
        public POMNavPage(Context context)
        {
            InitializeComponent();

            mContext = context;

            ApplicationPOMsTreeItem mPOMsRoot = new ApplicationPOMsTreeItem(WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>());

            mItemTypeRootNode = mPOMsRoot;
            mPOMPage          = new SingleItemTreeViewSelectionPage("Page Object Models", eImageType.ApplicationPOMModel, mItemTypeRootNode, SingleItemTreeViewSelectionPage.eItemSelectionType.Multi, true,
                                                                    new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." + nameof(ApplicationPOMModel.TargetApplicationKey.ItemName), mContext.Activity.TargetApplication),
                                                                    UCTreeView.eFilteroperationType.Equals, showAlerts: false);

            mItemTypeRootNode.SetTools(mPOMPage.xTreeView);
            mPOMPage.xTreeView.SetTopToolBarTools(mPOMsRoot.SaveAllTreeFolderItemsHandler, mPOMsRoot.AddPOM, RefreshTreeItems);

            mContext.PropertyChanged += MContext_PropertyChanged;
            mPOMPage.OnSelect        += MainTreeView_ItemSelected;
            SetElementsGridView();
            xPOMFrame.Content       = mPOMPage;
            xPOMSplitter.Visibility = Visibility.Collapsed;
        }
コード例 #20
0
        /// <summary>
        /// Context Property changed event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Context_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (this.IsVisible && MainAddActionsNavigationPage.IsPanelExpanded)
            {
                if (e != null && e.PropertyName == nameof(Context.Agent) || e.PropertyName == nameof(Context.AgentStatus))
                {
                    if (IsRecording)
                    {
                        IsRecording = false;
                        StopRecording();
                    }
                    SetDriver();
                    SetRecordingControls();
                }
                else if (e != null && e.PropertyName == nameof(Context.Target))
                {
                    SetSelectedPOMsGridView();
                    mApplicationPOMSelectionPage = null;
                }
            }

            xSelectedPOMsGrid.DataSourceList.Clear();
        }
コード例 #21
0
        private void SelectPOM_Click(object sender, RoutedEventArgs e)
        {
            if (mApplicationPOMSelectionPage == null)
            {
                ApplicationPOMsTreeItem pOMsRoot = new ApplicationPOMsTreeItem(mPOMModelFolder);
                mApplicationPOMSelectionPage = new SingleItemTreeViewSelectionPage("Page Objects Model Element", eImageType.ApplicationPOMModel, pOMsRoot,
                                                                                   SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                   new Tuple <string, string>(nameof(ApplicationPOMModel.TargetApplicationKey) + "." +
                                                                                                              nameof(ApplicationPOMModel.TargetApplicationKey.ItemName),
                                                                                                              App.BusinessFlow.CurrentActivity.TargetApplication));
            }

            List <object> selectedPOMs = mApplicationPOMSelectionPage.ShowAsWindow();

            if (selectedPOMs != null && selectedPOMs.Count > 0)
            {
                mSelectedPOM = (ApplicationPOMModel)selectedPOMs[0];
                SetPOMPathToShow();

                xPOMElementsGrid.DataSourceList = mSelectedPOM.MappedUIElements;
                POMElementComboBox.IsEnabled    = true;
            }
        }
コード例 #22
0
        private void xSelectBF_Click(object sender, RoutedEventArgs e)
        {
            RepositoryFolder <BusinessFlow> mBFFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <BusinessFlow>();
            BusinessFlowsFolderTreeItem     bFsRoot   = new BusinessFlowsFolderTreeItem(mBFFolder);

            SingleItemTreeViewSelectionPage selectPage = new SingleItemTreeViewSelectionPage(GingerDicser.GetTermResValue(eTermResKey.BusinessFlow) + " Elements", eImageType.BusinessFlow, bFsRoot,
                                                                                             SingleItemTreeViewSelectionPage.eItemSelectionType.Single, true,
                                                                                             new Tuple <string, string>(nameof(BusinessFlow.Applications), TargetApplication), UCTreeView.eFilteroperationType.Contains);

            List <object> selectedBF = selectPage.ShowAsWindow();

            if (selectedBF != null && selectedBF.Count > 0)
            {
                BusinessFlow = (BusinessFlow)selectedBF[0];
            }
            else
            {
                if (mBusinessFlow == null)
                {
                    xGoToAutomateBtn.Visibility = Visibility.Hidden;
                }
            }
            ElementChangedEvent();
        }