namespace DevExpress.DevAV.Modules { using System; using System.Collections.Generic; using DevExpress.DevAV; using DevExpress.DevAV.Presenters; using DevExpress.DevAV.ViewModels; using DevExpress.XtraBars.Docking2010; public partial class EmployeeMapView : BaseModuleControl, IRibbonModule { public EmployeeMapView() : base(typeof(EmployeeMapViewModel)) { InitializeComponent(); // Presenter = CreatePresenter(); // BindCommands(); BindEditors(); UpdateColors(); LookAndFeel.StyleChanged += LookAndFeel_StyleChanged; } protected override void OnDisposing() { LookAndFeel.StyleChanged -= LookAndFeel_StyleChanged; Presenter.Dispose(); base.OnDisposing(); } public EmployeeMapViewModel ViewModel { get { return GetViewModel(); } } protected EmployeeRouteMapPresenter Presenter { get; private set; } protected virtual EmployeeRouteMapPresenter CreatePresenter() { return new EmployeeRouteMapPresenter(mapControl, ViewModel, UpdateUI, UpdateRouteList); } protected virtual void BindCommands() { //Save & Close biSave.BindCommand(() => ViewModel.Save(), ViewModel); biClose.BindCommand(() => ViewModel.Close(), ViewModel); biSaveAndClose.BindCommand(() => ViewModel.SaveAndClose(), ViewModel); //Delete biDelete.BindCommand(() => ViewModel.Delete(), ViewModel); // biDriving.BindCommand(() => ViewModel.SetDrivingTravelMode(), ViewModel); biWalking.BindCommand(() => ViewModel.SetWalkingTravelMode(), ViewModel); // ((WindowsUIButton)routeButtons.Buttons[0]).BindCommand(() => ViewModel.SetWalkingTravelMode(), ViewModel); ((WindowsUIButton)routeButtons.Buttons[1]).BindCommand(() => ViewModel.SetDrivingTravelMode(), ViewModel); ((WindowsUIButton)swapRouteButtons.Buttons[0]).BindCommand(() => ViewModel.SwapRoutePoints(), ViewModel); // biPrint.ItemClick += (s, e) => mapControl.Print(); biPrintPreview.ItemClick += (s, e) => mapControl.ShowRibbonPrintPreview(); barExportItem.ItemClick += (s, e) => mapControl.Export("Employees.Map.png"); } protected virtual void BindEditors() { bindingSource.DataSource = ViewModel; colManeuver.ColumnEdit = EditorHelpers.CreateManeuverImageComboBox(); } void LookAndFeel_StyleChanged(object sender, EventArgs e) { UpdateColors(); } void UpdateColors() { routeResultLabel.Appearance.BackColor = ColorHelper.WindowColor; routeResultLabel.Appearance.ForeColor = ColorHelper.WindowTextColor; } void UpdateUI(Employee employee) { ribbonControl.ApplicationDocumentCaption = employee.FullNameBindable; } void UpdateRouteList(List routePoints) { gridControl.DataSource = routePoints; } #region XtraBars.Ribbon.RibbonControl IRibbonModule.Ribbon { get { return ribbonControl; } } #endregion } }