コード例 #1
0
ファイル: MM_Data_Table.cs プロジェクト: sylvainr/MacomberMap
        /// <summary>
        /// Initialize a new data table
        /// </summary>
        /// <param name="AssociatedPropertyPage">The property page associated with the table</param>
        /// <param name="miniMap">The mini-map associated with the table</param>
        /// <param name="nMap">The network map associated with the table</param>
        /// <param name="violView">The violation view assocaited with the table</param>
        public MM_Data_Table(MM_Property_Page AssociatedPropertyPage, MM_Network_Map_DX nMap, MM_Violation_Viewer violView, MM_Mini_Map miniMap)
        {
            this.nMap    = nMap;
            this.miniMap = miniMap;
            this.AssociatedPropertyPage   = AssociatedPropertyPage;
            this.AllowUserToAddRows       = false;
            this.AllowUserToResizeColumns = true;
            this.violView = violView;
            this.AllowUserToResizeRows   = true;
            this.AllowUserToOrderColumns = true;
            if (MM_Server_Interface.Client != null)
            {
                this.EditMode = DataGridViewEditMode.EditProgrammatically;
            }
            else
            {
                this.EditMode          = DataGridViewEditMode.EditOnEnter;
                this.CellValueChanged += new DataGridViewCellEventHandler(Data_Table_CellValueChanged);
            }


            this.DataError                 += new DataGridViewDataErrorEventHandler(Data_Table_DataError);
            this.BackgroundColor            = Color.Black;
            this.DefaultCellStyle.BackColor = Color.Black;
            this.DefaultCellStyle.ForeColor = Color.White;
            this.RowHeadersVisible          = false;
            this.AllowUserToResizeRows      = false;
        }
コード例 #2
0
 /// <summary>
 /// Initialize an EMS commands window
 /// </summary>
 /// <param name="nMap"></param>
 public MM_EMS_Command_Display(MM_Network_Map_DX nMap)
 {
     InitializeComponent();
     this.nMap        = nMap;
     this.Title       = this.Text;
     olView.BackColor = Color.Black;
 }
コード例 #3
0
 /// <summary>
 /// Initialize our blackstart corridor display
 /// </summary>
 public MM_Blackstart_Display(MM_Network_Map_DX nMap)
 {
     InitializeComponent();
     this.nMap  = nMap;
     this.Title = "Blackstart Corridor Information";
     cmbCorridor.Items.AddRange(MM_Repository.BlackstartCorridors.Values.ToArray());
     foreach (MM_Blackstart_Corridor Corridor in MM_Repository.BlackstartCorridors.Values)
     {
         TreeNode tvCorridor = new TreeNode(Corridor.Name)
         {
             Tag = Corridor
         };
         foreach (MM_Blackstart_Corridor_Target Target in Corridor.Blackstart_Targets)
         {
             TreeNode tvTarget = new TreeNode(Target.Target)
             {
                 Tag = Target
             };
             tvCorridor.Nodes.Add(tvTarget);
             AddLineElements(Target.Primary, "Primary", tvTarget);
             AddLineElements(Target.Secondary, "Secondary", tvTarget);
         }
         tvSummary.Nodes.Add(tvCorridor);
     }
     //olView.GetType().GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(olView, true);
     //tvSummary.GetType().GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(tvSummary, true);
     //lvItems.GetType().GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(lvItems, true);
     //this.DoubleBuffered = true;
 }
コード例 #4
0
ファイル: MM_Training.cs プロジェクト: sylvainr/MacomberMap
 /// <summary>
 /// Start a training session
 /// </summary>
 /// <param name="nMap">The network map</param>
 public void InitiateTraining(MM_Network_Map_DX nMap)
 {
     this.nMap      = nMap;
     CurrentLevel   = null;
     this.SessionId = MM_Server_Interface.Client.StartTrainingSession();
     NextQuestion();
     TimePlayStart = DateTime.Now;
 }
コード例 #5
0
ファイル: MM_Game.cs プロジェクト: sylvainr/MacomberMap
 /// <summary>
 /// Initialize a new game form
 /// </summary>
 public MM_Game(MM_Network_Map_DX NetworkMap)
 {
     this.NetworkMap = NetworkMap;
     InitializeComponent();
     RightClickMenu.ImageList = MM_Repository.ViolationImages;
     Data_Integration.RunningForms.Add(this);
     // Data_Integration.ViolationAdded += new Data_Integration.ViolationChangeDelegate(Data_Integration_ViolationAdded);
     AskNextQuestion();
 }
コード例 #6
0
ファイル: MM_Island.cs プロジェクト: sylvainr/MacomberMap
        /// <summary>
        /// Compute the bounds for our island
        /// </summary>
        /// <param name="StartPoint"></param>
        /// <param name="EndPoint"></param>
        /// <param name="nMap"></param>
        /// <param name="ControlDown"></param>
        public void ComputeBounds(out PointF StartPoint, out PointF EndPoint, MM_Network_Map_DX nMap, bool ControlDown)
        {
            StartPoint = new PointF(float.NaN, float.NaN);
            EndPoint   = new PointF(float.NaN, float.NaN);


            //Go through our data elements that are in our island
            foreach (MM_Substation Sub in MM_Repository.Substations.Values)
            {
                if (Sub.Permitted && (nMap.IsVisible(Sub) || ControlDown))
                {
                    bool Include = false;
                    if (Sub.BusbarSections != null)
                    {
                        foreach (MM_Bus Bus in Sub.BusbarSections)
                        {
                            if (Bus.IslandNumber == ID)
                            {
                                Include = true;
                            }
                        }
                    }
                    if (!Include && Sub.Loads != null)
                    {
                        foreach (MM_Load Load in Sub.Loads)
                        {
                            if (this == Load.NearIsland)
                            {
                                Include = true;
                            }
                        }
                    }



                    if (Include)
                    {
                        if (float.IsNaN(StartPoint.X) || Sub.Longitude < StartPoint.X)
                        {
                            StartPoint.X = Sub.Longitude;
                        }
                        if (float.IsNaN(StartPoint.Y) || Sub.Latitude < StartPoint.Y)
                        {
                            StartPoint.Y = Sub.Latitude;
                        }
                        if (float.IsNaN(EndPoint.X) || Sub.Longitude > EndPoint.X)
                        {
                            EndPoint.X = Sub.Longitude;
                        }
                        if (float.IsNaN(EndPoint.Y) || Sub.Latitude > EndPoint.Y)
                        {
                            EndPoint.Y = Sub.Latitude;
                        }
                    }
                }
            }
        }
コード例 #7
0
 /// <summary>
 /// Initialize our display
 /// </summary>
 public MM_Generators_Display(MM_Network_Map_DX nMap)
 {
     InitializeComponent();
     this.nMap                = nMap;
     this.DoubleBuffered      = true;
     this.Title               = this.Text;
     dgvUnits.CellMouseClick += DataGridView_CellClick;
     dgvUnits.networkMap      = nMap;
 }
コード例 #8
0
        /// <summary>
        /// Assign the controls to the one-line viewer
        /// </summary>
        /// <param name="BaseElement">The base element, from which the Data Integration layer should query for parameters</param>
        /// <param name="nMap">The network map</param>
        /// <param name="BaseData">The base data</param>
        /// <param name="ViolViewer">The violation viewer associated with the one-line</param>
        /// <param name="DataSource">The active data source</param>
        public void SetControls(MM_Element BaseElement, MM_Network_Map_DX nMap, MM_DataSet_Base BaseData, MM_Violation_Viewer ViolViewer, MM_Data_Source DataSource)
        {
            //Assign our data connectors
            this.DataSource = DataSource;
            this.BaseData   = BaseData;
            this.nMap       = nMap;
            this.ViolViewer = ViolViewer;

            LoadOneLine(BaseElement, null);

            //Assign our events
            tsMain.ItemClicked    += new ToolStripItemClickedEventHandler(tsMain_ItemClicked);
            btnSwapDetails.Visible = this.Parent is SplitterPanel;
        }
コード例 #9
0
 /// <summary>
 /// Initialize our island view
 /// </summary>
 /// <param name="MainMap"></param>
 public MM_Island_View(MM_Network_Map_DX MainMap)
 {
     InitializeComponent();
     this.MainMap = MainMap;
     this.Text    = "Island Summary - Macomber Map®";
     this.Icon    = Properties.Resources.CompanyIcon;
     Data_Integration.IslandAdded   += Data_Integration_IslandAdded;
     Data_Integration.IslandRemoved += Data_Integration_IslandRemoved;
     foreach (MM_Island Island in MM_Repository.Islands.Values)
     {
         MM_Island_Display IslandDisplay = new MM_Island_Display(Island, this);
         Islands.Add(Island.ID, IslandDisplay);
         dgvIslandView.Elements.Add(IslandDisplay);
     }
 }
コード例 #10
0
        /// <summary>
        /// Assign controls to the search results window
        /// </summary>
        /// <param name="nMap">Network Map</param>
        /// <param name="violView">Violations view</param>
        /// <param name="miniMap">The mini-map</param>
        /// <param name="SearchText">Search Text</param>
        /// <param name="Parent">The parent builder</param>
        /// <param name="BaseData">The base data tables</param>
        /// <param name="ControlPressed">Whether the control button is pressed</param>
        /// <param name="viewSummary"></param>
        /// <param name="AltPressed">Whether the alt button is pressed</param>
        public bool SetControls(MM_Network_Map_DX nMap, MM_Violation_Viewer violView, MM_Mini_Map miniMap, String SearchText, MM_Form_Builder Parent, out MM_DataSet_Base BaseData, MM_Element_Summary viewSummary, bool ControlPressed, bool AltPressed)
        {
            MM_Repository.ViewChanged += new MM_Repository.ViewChangedDelegate(Repository_ViewChanged);
            this.nMap        = nMap;
            this.miniMap     = miniMap;
            this.violView    = violView;
            this.viewSummary = viewSummary;
            ConfigureSearch();
            this.txtSearch.Text = SearchText;
            this.SearchText     = SearchText;
            bool Resp = PerformSearch(ControlPressed, AltPressed);

            BaseData = this.BaseData;
            return(Resp);
        }
コード例 #11
0
        /// <summary>
        /// Initialize our coordinate delta viewer
        /// </summary>
        /// <param name="nMap"></param>
        public MM_Coordinate_Delta(MM_Network_Map_DX nMap)
        {
            InitializeComponent();
            this.nMap     = nMap;
            ActiveChanges = new DataTable("ActiveChanges");
            ActiveChanges.Columns.Add("ElemType", typeof(MM_Element_Type));
            ActiveChanges.Columns.Add("Name", typeof(string));
            ActiveChanges.Columns.Add("TEID", typeof(Int32));
            dgvChanges.DataSource = ActiveChanges;

            LineCoordinates = new DataTable("LineCoordinates");
            LineCoordinates.Columns.Add("Index", typeof(int));
            LineCoordinates.Columns.Add("Latitude", typeof(Single));
            LineCoordinates.Columns.Add("Longitude", typeof(Single));
            dgvLineLngLat.DataSource = LineCoordinates;
        }
コード例 #12
0
        /// <summary>
        /// Initialize a new note viewer
        /// </summary>
        /// <param name="KeyIndicators">The key indicators (for notifications of new notes)</param>
        /// <param name="nMap">The associated network map</param>
        public MM_Note_Viewer(MM_Key_Indicators KeyIndicators, MM_Network_Map_DX nMap)
        {
            this.KeyIndicators = KeyIndicators;
            this.nMap          = nMap;
            InitializeComponent();


            //Set our hooks for future activities
            Data_Integration.NoteAdded    += new Data_Integration.NoteChangeDelegate(NoteAdded);
            Data_Integration.NoteModified += new Data_Integration.NoteChangeDelegate(NoteModified);
            Data_Integration.NoteRemoved  += new Data_Integration.NoteChangeDelegate(NoteRemoved);

            //Also, add all current notes in
            foreach (MM_Note NewNote in MM_Repository.Notes.Values)
            {
                NoteAdded(NewNote);
            }
        }
コード例 #13
0
 /// <summary>
 /// Create a new property page
 /// </summary>
 public MM_Property_Page(MM_Network_Map_DX nMap, MM_Violation_Viewer violView, MM_Mini_Map miniMap)
 {
     this.nMap     = nMap;
     this.violView = violView;
     this.miniMap  = miniMap;
     DetermineDefaultStyle();
     try
     {
         if (!Cef.IsInitialized)
         {
             Cef.Initialize();
         }
     }
     catch (Exception ex)
     {
         MM_System_Interfaces.LogError(ex);
     }
 }
コード例 #14
0
 /// <summary>
 /// Initialize our operatorship display
 /// </summary>
 public MM_Operatorship_Display(MM_Network_Map_DX nMap)
 {
     InitializeComponent();
     this.nMap           = nMap;
     this.DoubleBuffered = true;
     if (MM_Server_Interface.ISQse)
     {
         this.Title = this.Text.Replace("Substations", "Units");
     }
     else
     {
         this.Title = this.Text;
     }
     dgvLines.CellMouseClick       += DataGridView_CellClick;
     dgvUnits.CellMouseClick       += DataGridView_CellClick;
     dgvSubstations.CellMouseClick += DataGridView_CellClick;
     dgvLines.networkMap            = nMap;
     dgvUnits.networkMap            = nMap;
     dgvSubstations.networkMap      = nMap;
     olView.Dock = DockStyle.Fill;
 }
コード例 #15
0
 /// <summary>
 /// Create a seperate thread to run the communications viewer, and run it.
 /// </summary>
 /// <param name="nMap"></param>
 /// <param name="MenuItem"></param>
 /// <returns></returns>
 public static void CreateInstanceInSeparateThread(ToolStripMenuItem MenuItem, MM_Network_Map_DX nMap)
 {
     ThreadPool.QueueUserWorkItem(new WaitCallback(InstantiateForm), new object[] { MenuItem, nMap });
 }
コード例 #16
0
 /// <summary>
 /// Initialize a new load/gen tracker
 /// </summary>
 /// <param name="NetworkMap"></param>
 public MM_LoadGen_Tracking(MM_Network_Map_DX NetworkMap) : this()
 {
     this.NetworkMap = NetworkMap;
     this.Title      = Text;
 }
コード例 #17
0
        /// <summary>
        /// Create a seperate thread to run the communications viewer, and run it.
        /// </summary>
        /// <param name="nMap"></param>
        /// <param name="MenuItem"></param>
        /// <returns></returns>
        public static void CreateInstanceInSeparateThread(ToolStripMenuItem MenuItem, MM_Network_Map_DX nMap)
        {
            Thread CommandThread = new Thread(new ParameterizedThreadStart(InstantiateForm));

            CommandThread.Name = "EMS Command Window";
            CommandThread.SetApartmentState(ApartmentState.STA);
            CommandThread.Start(new object[] { MenuItem, nMap });
        }