Example #1
0
        /// <summary>
        /// Initialize a QueryBuilderControlProperties with the specified mapMember.  Use the current definition query of that mapMember (if it exists) to extend the
        /// initialization.
        /// </summary>
        /// <param name="mapMember">MapMember to initialize the QueryBuilderControlProperties. </param>
        private void BuildControlProperties(MapMember mapMember)
        {
            // find the current definition query for the mapMember
            string            expression = "";
            BasicFeatureLayer fLayer     = mapMember as BasicFeatureLayer;
            StandaloneTable   table      = mapMember as StandaloneTable;

            if (fLayer != null)
            {
                expression = fLayer.DefinitionQuery;
            }
            else if (table != null)
            {
                expression = table.DefinitionQuery;
            }

            // create it
            var props = new QueryBuilderControlProperties()
            {
                MapMember  = mapMember,
                Expression = expression,
            };

            // set the binding properties
            this.ControlProperties = props;
            MapMemberName          = mapMember?.Name ?? "";

            // keep track of the original expression
            _origExpression = expression;
        }
 public QueryBuilderWindowViewModel(QueryBuilderControlProperties queryBuilderControlProperties)
 {
     MapMemberName   = queryBuilderControlProperties.MapMember.Name;
     Expression      = queryBuilderControlProperties.Expression;
     ControlProps    = queryBuilderControlProperties;
     _origExpression = Expression;
 }
 public QueryBuilderWindow(DefinitionFilterItem defItem, QueryBuilderControlProperties queryBuilderControlProperties)
 {
     InitializeComponent();
     // trap for Expression changes
     this.QueryBuilderControl.ExpressionChanged += QueryBuilderControl_ExpressionChanged;
     QueryBuilderWindowVM = new QueryBuilderWindowViewModel(queryBuilderControlProperties);
     // set the datacontext to our ViewModel
     this.DataContext = QueryBuilderWindowVM;
     QueryBuilderWindowVM.ThisQueryBuilderWindow   = this;
     QueryBuilderWindowVM.ThisDefinitionFilterItem = defItem;
 }
Example #4
0
        private void CreateDefinitionFilter()
        {
            //Get the Selected layer
            //Create QueryBuilderControlProperties
            var queryBuilderControlProps = new QueryBuilderControlProperties
            {
                MapMember      = SelectedMapMember,
                EditClauseMode = true,
                AutoValidate   = true
            };
            //Show the Query builder Pro Window
            var querybuilderwindow = new QueryBuilderWindow(new DefinitionFilterItem(SelectedMapMember, null), queryBuilderControlProps);

            querybuilderwindow.Owner   = FrameworkApplication.Current.MainWindow;
            querybuilderwindow.Closed += (o, e) => { querybuilderwindow = null; };
            querybuilderwindow.ShowDialog();
        }
        public DefinitionFilterItem(MapMember mapMember, DefinitionQuery definitionQuery)
        {
            //if (definitionFilter == null) return;
            _mapMember        = mapMember;
            _queryExpression  = definitionQuery?.WhereClause;
            _expressionName   = definitionQuery?.Name;
            _definitionFilter = definitionQuery;
            var queryBuilderControlProps = new QueryBuilderControlProperties
            {
                Expression     = CurrentDefinitionQuery?.WhereClause,
                EditClauseMode = true,
                MapMember      = ItemMapMember,
                AutoValidate   = true
            };

            ControlProperties = queryBuilderControlProps;
            _isActiveFilter   = IsDefinitionFilterActive();
        }
        public DefinitionFilterItem(MapMember mapMember, CIMDefinitionFilter definitionFilter)
        {
            //if (definitionFilter == null) return;
            _mapMember        = mapMember;
            _queryExpression  = definitionFilter?.DefinitionExpression;
            _expressionName   = definitionFilter?.Name;
            _definitionFilter = definitionFilter;
            var queryBuilderControlProps = new QueryBuilderControlProperties
            {
                Expression     = DefinitionFilter?.DefinitionExpression,
                EditClauseMode = true,
                MapMember      = ItemMapMember,
                AutoValidate   = true
            };

            ControlProperties = queryBuilderControlProps;
            _isActiveFilter   = IsDefinitionFilterActive();
        }