예제 #1
0
        /// <summary>
        /// Add table that is need to be monitored
        /// </summary>
        /// <param name="tableName">Name of the table with schema</param>
        /// <param name="primaryKeyColumnName">Primary key column name. Example: ID or MyID</param>
        public void AddTable(string tableName, string primaryKeyColumnName)
        {
            if (MonitorTables == null)
            {
                MonitorTables = new List <MonitorTable>();
            }

            var existing = MonitorTables.FirstOrDefault(x => x.TableName.ToLower() == tableName.ToLower());

            if (existing != null)
            {
                return;
            }

            var table = new MonitorTable();

            table.PrimaryKeyColumnName = primaryKeyColumnName;
            table.TableName            = tableName;
            MonitorTables.Add(table);
        }
예제 #2
0
        private void MonitorForm_Activated(object sender, EventArgs e)
        {
            using (var context = new PineappleContext())
            {
                MonitorTable.DataSource = null;
                MonitorTable.Rows.Clear();
                MonitorTable.Refresh();

                context.Monitors.Load();
                DbSet <Monitor> monitors = context.Monitors;
                int             i        = 0;
                MonitorTable.RowCount = monitors.Count();

                foreach (Monitor monitor in monitors)
                {
                    MonitorTable[0, i].Value = monitor.name;
                    MonitorTable[1, i].Value = monitor.manufacturer;

                    i++;
                }
            }
        }
예제 #3
0
        /// <summary>
        /// 建立与成员的事件连接
        /// </summary>
        private void BuildRouted()
        {
            // 项目树
            PTView = new ProjectTreeView();
            foreach (SimuViewDiagramModel svdmodel in SubRoutines)
            {
                PTView.AddTreeViewItem(svdmodel.Name, ProjectTreeView.ADDTVI_TYPE_SUBROUTINES);
            }
            PTView.AddTreeViewItem("所有函数", ProjectTreeView.ADDTVI_TYPE_FUNCBLOCKS);
            foreach (SimuViewFuncBlockModel svfmodel in FuncBlocks)
            {
                PTView.AddTreeViewItem(svfmodel.Name, ProjectTreeView.ADDTVI_TYPE_FUNCBLOCKS);
            }
            TreeViewItem tvi_mrou = PTView.TVI_MainRoutine;
            TreeViewItem tvi_srou = PTView.TVI_SubRoutines;
            TreeViewItem tvi_fblo = PTView.TVI_FuncBlocks;
            TreeViewItem tvi_char = PTView.TVI_Chart;

            tvi_mrou.MouseDoubleClick += OnProjectTreeDoubleClicked;
            foreach (TreeViewItem tvi in tvi_srou.Items)
            {
                tvi.MouseDoubleClick += OnProjectTreeDoubleClicked;
            }
            foreach (TreeViewItem tvi in tvi_fblo.Items)
            {
                tvi.MouseDoubleClick += OnProjectTreeDoubleClicked;
            }
            tvi_char.MouseDoubleClick += OnProjectTreeDoubleClicked;
            // 监视列表的第一个空表单
            SimulateVInputUnit sviunit = new SimulateVInputUnit();

            smvars.Add(sviunit);
            // 监视列表
            MTable = new MonitorTable();
            MTable.VariableUnitChanged  += OnVariableUnitChanged;
            MTable.VariableUnitLocked   += OnVariableUnitLocked;
            MTable.VariableUnitUnlocked += OnVariableUnitUnlocked;
            MTable.SVUnits = smvars;
            MTable.Update();
            // 主图表
            MainChart                = new SimuViewChartModel();
            MainChart.SDModelView   += OnSimulateDataModelView;
            MainChart.SDModelLock   += OnSimulateDataModelLock;
            MainChart.SDModelUnlock += OnSimulateDataModelUnlock;
            MainChart.SDModelUnview += OnSimulateDataModelUnview;
            MainChart.SDModelRun    += OnSimulateDataModelRun;
            MainChart.SDModelDraw   += OnSimulateDataModelDraw;
            MainChart.XYModelCreate += OnSimuViewXYModelCreate;
            MainChart.BuildRouted(this);
            // 时间尺
            TRuler = MainChart.TRuler;
            TRuler.PointStartEnable  += OnPointStartEnable;
            TRuler.PointStartDisable += OnPointStartDisable;
            TRuler.PointEndEnable    += OnPointEndEnable;
            TRuler.PointEndDisable   += OnPointEndDisable;
            // 仿真管理器
            //smanager.RunDataFinished += OnRunDataFinished;
            //smanager.RunDrawFinished += OnRunDrawFinished;
            // DLL模型
            dllmodel.SimulateStart    += OnSimulateStart;
            dllmodel.SimulatePause    += OnSimulatePause;
            dllmodel.SimulateAbort    += OnSimulateAbort;
            dllmodel.SimulateProgress += OnSimulateProgress;
        }