コード例 #1
0
        /// <summary>
        /// Builds an EventDimensionSelector for each event dimension.
        /// </summary>
        private void BuildEventDimensionsSelectors()
        {
            //reset gui
            EventDimensionList.Children.Clear();

            //clear the the internal representation of the selected dimensions
            EventSelectionModel.GetInstance().Clear();

            _listOfDimensionSelectors = new List<EventDimensionSelector>();

            if (DBWorker.MetaData == null || DBWorker.MetaData.ListOfEventDimensions == null || DBWorker.MetaData.ListOfEventDimensions.Count == 0)
            {
                TextBlock textBlock = new TextBlock {Text = "No events available."};
                EventDimensionList.Children.Add(textBlock);
                return;
            }

            //build EventDimensionSelector for each event dimension
            for (int i = 0; i < DBWorker.MetaData.ListOfEventDimensions.Count; i++)
            {
                //skip empty dimension
                if (DBWorker.MetaData.ListOfEventDimensions[i].IsEmptyDimension)
                    continue;

                //create EventDimensionSelector for dimension
                int axis = i+1;
                EventDimensionSelector dimSelector = new EventDimensionSelector(axis);
                dimSelector.Init(DBWorker.MetaData.ListOfEventDimensions, DBWorker.MetaData.ListOfEventDimensions[i]);
                _listOfDimensionSelectors.Add(dimSelector);

                //add selector to panel
                EventDimensionList.Children.Add(dimSelector.DimensionSelectorGrid);
            }

            //build internal representation of the selected dimensions
            foreach (EventDimensionSelector dimSelector in _listOfDimensionSelectors)
            {
                int axis = dimSelector.Axis;
                Dimension dim = dimSelector.ShowedDimension;
                int levelDepth = dimSelector.GetSelectedLevelDepth();
                int aggregationDepth = dimSelector.GetSelectedAggregationDepth();
                List<DimensionContent> dimContent = dimSelector.GetSelectedDimensionContent();
                EventSelectionModel.GetInstance().AddSelectedDimension(new SelectedDimension(axis, dim, levelDepth, aggregationDepth - 1, true, dimContent, true));
            }

            InitEventListener();
        }
コード例 #2
0
 /// <summary>
 /// Looks if the given dimension is also selected by another selector as the given one.
 /// <param name="showingDimensionSelector">Selector which currently show the dimension.</param>
 /// <param name="dimension">Dimension to look for.</param>
 /// </summary>
 private bool IsAlreadySelected(EventDimensionSelector showingDimensionSelector, Dimension dimension)
 {
     foreach (EventDimensionSelector dimSelector in _listOfDimensionSelectors)
     {
         if (dimSelector.DimensionComboBox.SelectedItem == dimension && dimSelector != showingDimensionSelector)
         {
             return true;
         }
     }
     return false;
 }