void ScrollChanged(ExCommandParameter x)
        {
            ScrollChangedEventArgs e = x.EventArgs as ScrollChangedEventArgs;
            DataGrid d = x.Parameter as DataGrid;
            //是否滑到底端
            bool bo = DataGridHelper.IsVerticalScrollBarAtButtom(e, d);

            if (bo)
            {
                try
                {
                    int i = OrderListComplete.Count - 3;
                    PageIndex++;
                    ThreadPool.QueueUserWorkItem((obj) =>
                    {
                        GetOrderList(PageSize, PageIndex, OrderState);
                    });

                    d.UpdateLayout();
                    d.ScrollIntoView(d.Items[i]);
                }
                catch (Exception exception)
                {
                }
            }
        }
        private void OnCameraCheckBoxChecked(ExCommandParameter e)
        {
            string currentDeviceID = e.Parameter as string;

            DeviceCameraList.FirstOrDefault(x => x.DevId == currentDeviceID).DevType = MediaDeviceType.Camera;
            _nemo.ChooseCameraDev(SDKCameraOrdinal.First, currentDeviceID);
        }
        private void ChangeCopyImagePath(ExCommandParameter param)
        {
            XDocument doc  = XDocument.Load("Application.config");
            var       path = doc.Descendants("copyImagePath").Single();

            path.SetAttributeValue("path", this.CopyImagePath);
            doc.Save("Application.config");
        }
Exemple #4
0
 /// <summary>
 ///  双击的项目
 /// </summary>
 /// <param name="param"></param>
 private void ProjMouseDoubleClick(ExCommandParameter param)
 {
     if (param.Parameter == null)
     {
         return;
     }
     _parent.SetCurrentViewFromProject(_parent.CurrProject);
 }
Exemple #5
0
 private bool CanModernGrowlNotificationSizeChanged(ExCommandParameter parameter)
 {
     if (parameter == null || parameter.EventArgs == null)
     {
         return(false);
     }
     return(true);
 }
Exemple #6
0
        private void BackwardSetup(ExCommandParameter param)
        {
            var tabs = param.Parameter as ModernTab;

            currentIndex--;
            tabs.SelectedSource = tabs.Links[currentIndex].Source;
            SetButtonState(tabs.Links.Count);
        }
        private void ChangeUDPServerParams(ExCommandParameter param)
        {
            var    txt   = param.Sender as TextBox;
            string tag   = txt.Tag.ToString();
            string value = txt.Text;

            UDPServer.UpdateServerToConfig(tag, value);
        }
Exemple #8
0
 /// <summary>
 /// Vault选项改变命令函数
 /// </summary>
 /// <param name="param"></param>
 private void VaultSelectionChanged(ExCommandParameter param)
 {
     if (param.Parameter == null)
     {
         return;
     }
     _selectedVm = param.Parameter as MfilesVaultViewModel;
 }
Exemple #9
0
 /// <summary>
 /// 双击vault命令函数
 /// </summary>
 /// <param name="param"></param>
 private void VaultMouseDoubleClick(ExCommandParameter param)
 {
     if (param.Parameter == null)
     {
         return;
     }
     _selectedVm           = param.Parameter as MfilesVaultViewModel;
     _parent.CurrWorkspace = _selectedVm;
 }
        private void OnGaopaiCheckBoxClick(ExCommandParameter e)
        {
            string currentDeviceID            = e.Parameter as string;
            SettingsDeviceListItemInfo device = DeviceCameraList.FirstOrDefault(x => x.DevId != currentDeviceID && x.IsChecked && x.DevType == MediaDeviceType.SubCamera);

            if (device != null)
            {
                device.IsChecked = false;
            }
        }
Exemple #11
0
        /// <summary>
        /// 选择项目状态
        /// </summary>
        /// <param name="param"></param>
        private void StatusSelectionChanged(ExCommandParameter param)
        {
            if (param.Parameter == null)
            {
                return;
            }
            var str = param.Parameter as string;

            _currProjStatus = GetProjectsStatus(str);
            OnPropertyChanged("CategoryProjects");
        }
Exemple #12
0
        private void ComboBoxSelectChanged(ExCommandParameter param)
        {
            var sender = param.Sender as ComboBox;
            var pad    = sender.SelectedItem as ControlPad;

            if (pad == null)
            {
                return;
            }
            this.Cameras = pad.GetCameras();
        }
Exemple #13
0
        private void ListBoxSelectChanged(ExCommandParameter param)
        {
            var sender = param.Sender as ListBox;
            var args   = param.EventArgs as SelectionChangedEventArgs;
            var camera = sender.SelectedItem as Camera;

            if (camera != null)
            {
                SwitchCameraNetPort(camera);
            }
        }
        private void DeleteControlPad(ExCommandParameter param)
        {
            var sender = param.Sender as Button;
            int id     = int.Parse(sender.Tag.ToString());
            //删除
            bool b = ControlPad.DeleteControlPad(id);

            if (b)
            {
                this.ControlPads.Remove(this.ControlPads.Single(p => p.Id == id));
            }
        }
        private void DeleteClient(ExCommandParameter param)
        {
            var sender = param.Sender as Button;
            int id     = int.Parse(sender.Tag.ToString());

            //删除
            if (ModernDialog.ShowMessage("确实要删除该上位机吗?", "提示", System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
            {
                UDPHost.DeleteClient(id);
                this.Clients.Remove(this.Clients.Single(c => c.Id == id));
            }
        }
        private void SelectControlPad(ExCommandParameter param)
        {
            var sender     = param.Sender as ComboBox;
            var controlpad = sender.SelectedItem as ControlPad;

            if (controlpad == null)
            {
                return;
            }
            this.CurrentControlPad = controlpad;
            this.Cameras           = controlpad.GetCameras();
        }
        private void BeginningEdit(ExCommandParameter param)
        {
            var sender = param.Sender as DataGrid;
            var args   = param.EventArgs as DataGridBeginningEditEventArgs;
            int index  = args.Column.DisplayIndex;
            int id     = int.Parse((sender.Columns[0].GetCellContent(args.Row) as TextBlock).Text);
            var pad    = this.ControlPads.SingleOrDefault(p => p.Id == id);

            if (pad != null)
            {
                this.currentControlPad = pad;
            }
        }
        private void BeginningEdit(ExCommandParameter param)
        {
            var sender = param.Sender as DataGrid;
            var args   = param.EventArgs as DataGridBeginningEditEventArgs;
            int index  = args.Column.DisplayIndex;
            int id     = int.Parse((sender.Columns[0].GetCellContent(args.Row) as TextBlock).Text);
            var client = this.Clients.SingleOrDefault(c => c.Id == id);

            if (client != null)
            {
                this.CurrentUDPClient = client;
            }
        }
        private void DeleteCamera(ExCommandParameter param)
        {
            var sender       = param.Sender as Button;
            int cameraId     = int.Parse(sender.Tag.ToString());
            int controlpadId = this.CurrentControlPad.Id;
            //删除
            bool b = Camera.DeleteCamera(cameraId, controlpadId);

            if (b)
            {
                this.Cameras.Remove(this.Cameras.Single(p => p.Id == cameraId));
            }
        }
Exemple #20
0
        private void InvokeSelectedItem(ExCommandParameter param)
        {
            var item = param.Parameter as MessageModel;

            if (item == null)
            {
                return;
            }
            _selectedMsg = item;

            _selectedMsg.IsRead = true;
            OnPropertyChanged("IsRead");
        }
        private void OnSpeakerCheckBoxChecked(ExCommandParameter e)
        {
            string currentDeviceID = e.Parameter as string;

            DeviceSpeakerList.FirstOrDefault(x => x.DevId == currentDeviceID).DevType = MediaDeviceType.Speaker;
            try
            {
                _nemo.ChooseSpeakerDev(currentDeviceID);
            }
            catch
            {
                SetPopMessage("设备异常,请刷新重试!");
            }
        }
        private void RowEditEnding(ExCommandParameter param)
        {
            if (this.CurrentUDPClient == null)
            {
                return;
            }
            var sender = param.Sender as DataGrid;
            var args   = param.EventArgs as DataGridRowEditEndingEventArgs;
            int id     = int.Parse((sender.Columns[0].GetCellContent(args.Row) as TextBlock).Text);
            var client = this.Clients.SingleOrDefault(c => c.Id == id);

            //保存
            UDPHost.UpdateClient(client);
        }
        private void RowEditEnding(ExCommandParameter param)
        {
            if (this.currentControlPad == null)
            {
                return;
            }
            var sender = param.Sender as DataGrid;
            var args   = param.EventArgs as DataGridRowEditEndingEventArgs;
            int id     = int.Parse((sender.Columns[0].GetCellContent(args.Row) as TextBlock).Text);
            var pad    = this.ControlPads.SingleOrDefault(p => p.Id == id);

            //保存
            ControlPad.UpdateControlPad(pad);
        }
Exemple #24
0
        //RoutedPropertyChangedEventArgs<object>
        #region command functions
        private void PageLoaded(ExCommandParameter param)
        {
            var sender         = param.Sender as UserControl;
            var tvControlPads  = sender.FindName("tvControlPads") as TreeView;
            var cboControlPads = sender.FindName("cboControlPads") as ComboBox;

            this.ControlPads = ControlPad.GetAllControlPads();
            this.Cameras     = null;

            XDocument doc  = XDocument.Load("Application.config");
            var       path = doc.Descendants("copyImagePath").Single();

            this.copyImagePath = path.Attribute("path").Value;
        }
        private void OnGaopaiCheckBoxChecked(ExCommandParameter e)
        {
            string currentDeviceID = e.Parameter as string;

            DeviceCameraList.FirstOrDefault(x => x.DevId == currentDeviceID).DevType = MediaDeviceType.SubCamera;
            try
            {
                _nemo.ChooseCameraDev(SDKCameraOrdinal.Second, currentDeviceID);
            }
            catch
            {
                SetPopMessage("设备异常,请刷新重试!");
            }
        }
Exemple #26
0
        private void ShowAlarmPic(ExCommandParameter param)
        {
            var listview = param.Sender as ListView;

            if (listview.SelectedItems.Count > 0)
            {
                var info = listview.SelectedItem as AlarmInfoForDB;
                //建立新的系统进程
                System.Diagnostics.Process process = new System.Diagnostics.Process();

                //设置图片的真实路径和文件名
                int    year    = info.InfoTime.Year;
                int    month   = info.InfoTime.Month;
                int    day     = info.InfoTime.Day;
                int    hour    = info.InfoTime.Hour;
                int    minute  = info.InfoTime.Minute;
                int    second  = info.InfoTime.Second;
                string picPath = Path.Combine(this.alarmImagePath, $"pic_{year}_{month.ToString().PadLeft(2,'0')}_{day.ToString().PadLeft(2,'0')}",
                                              $"下位机_{info.CameraId}_报警截图",
                                              $"{hour.ToString().PadLeft(2, '0')}_{minute.ToString().PadLeft(2, '0')}_{second.ToString().PadLeft(2, '0')}_AlarmPic.jpg");
                if (!File.Exists(picPath))
                {
                    return;
                }
                try
                {
                    process.StartInfo.FileName = picPath;

                    //设置进程运行参数,这里以最大化窗口方法显示图片。
                    process.StartInfo.Arguments = "rundl132.exe C://WINDOWS//system32//shimgvw.dll,ImageView_Fullscreen";

                    //此项为是否使用Shell执行程序,因系统默认为true,此项也可不设,但若设置必须为true
                    process.StartInfo.UseShellExecute = true;

                    //此处可以更改进程所打开窗体的显示样式,可以不设
                    //process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                    process.Start();
                    process.Close();
                }
                catch (Exception ex)
                {
                    App.Current.Dispatcher.Invoke(() =>
                    {
                        ModernDialog.ShowMessage(ex.Message, "提示", MessageBoxButton.OK);
                    });
                }
            }
        }
        private void ChangeSerialPortsParam(ExCommandParameter param)
        {
            var sender        = param.Sender as System.Windows.Controls.ComboBox;
            int selectedIndex = sender.SelectedIndex;

            if (selectedIndex < 0)
            {
                return;
            }
            var             selectedItem = sender.SelectedItem as SettingWindowParamHelper;
            XmlConfigHelper config       = new XmlConfigHelper();

            config.Load("Application.config");
            config.UpdateNodeValue(selectedItem.ParamTypeName, selectedItem.Value.ToString());
            config.Save("Application.config");
        }
        private void SelectAlarmPicPath(ExCommandParameter param)
        {
            var sender = param.Sender as Button;
            int id     = int.Parse(sender.Tag.ToString());
            var camera = this.Cameras.SingleOrDefault(c => c.Id == id);

            if (camera == null)
            {
                return;
            }
            //显示选择对话框
            System.Windows.Forms.FolderBrowserDialog dialog = new System.Windows.Forms.FolderBrowserDialog();
            dialog.SelectedPath = camera.AlarmPicDir;
            dialog.ShowDialog();
            camera.AlarmPicDir = dialog.SelectedPath;
        }
Exemple #29
0
        private void TreeViewSelectChanged(ExCommandParameter param)
        {
            var sender = param.Sender as TreeView;

            if (sender.SelectedItem is ControlPad)
            {
                //屏蔽控制板的右键事件
                if (param.EventArgs is MouseButtonEventArgs)
                {
                    return;
                }
                var pad = sender.SelectedItem as ControlPad;
                this.currentPad = pad;
                pad.Cameras     = pad.GetCameras();
            }
            else if (sender.SelectedItem is Camera)
            {
                if (param.EventArgs is MouseButtonEventArgs)
                {
                    //只有在选中相机并单击右键时,才显示快捷菜单
                    if (sender.SelectedItem == null)
                    {
                        return;
                    }
                    //显示右键菜单
                    var contextMenu = new ContextMenu();
                    //contextMenu.Items.Add(new MenuItem { Header = "连接", Command = this.RemoteDesktopCommand });
                    var menuItem = new MenuItem {
                        Header = "连接"
                    };
                    menuItem.Name    = "menuConnect";
                    menuItem.Tag     = (sender.SelectedItem as Camera).Id;
                    menuItem.Command = this.RemoteDesktopCommand;
                    var parameter = new ExCommandParameter();
                    parameter.Sender          = menuItem;
                    menuItem.CommandParameter = parameter;
                    contextMenu.Items.Add(menuItem);

                    contextMenu.Items.Add(new MenuItem {
                        Header = "开启检测"
                    });
                    contextMenu.IsOpen = true;
                }
            }
        }
        /// <summary>
        /// 调用操作。
        /// </summary>
        /// <param name="parameter">操作的参数。如果操作不需要参数,则可以将参数设置为空引用。</param>
        protected override void Invoke(object parameter)
        {
            if (base.AssociatedObject != null)
            {
                ICommand           command     = this.ResolveCommand();
                ExCommandParameter exParameter = new ExCommandParameter
                {
                    Sender    = base.AssociatedObject,
                    Parameter = GetValue(CommandParameterProperty),
                    EventArgs = parameter as EventArgs
                };

                if (command != null && command.CanExecute(exParameter))
                {
                    command.Execute(exParameter);
                }
            }
        }