/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings data.
        /// </param>
        /// <param name="locations">
        /// The pinned location control collection.
        /// </param>
        public PinnedLocationsPanelVM(ILayoutSettings layoutSettings, IPinnedLocationVMCollection locations)
        {
            _layoutSettings = layoutSettings;

            Locations = locations;

            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings.
        /// </param>
        /// <param name="expectedValue">
        /// A boolean representing the expected value.
        /// </param>
        public AlwaysDisplayDungeonItemsRequirement(
            ILayoutSettings layoutSettings, bool expectedValue)
        {
            _layoutSettings = layoutSettings;
            _expectedValue  = expectedValue;

            _layoutSettings.PropertyChanged += OnLayoutChanged;

            UpdateValue();
        }
示例#3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings.
        /// </param>
        /// <param name="mode">
        /// The mode settings.
        /// </param>
        /// <param name="factory">
        /// The factory for creating new dropdown controls.
        /// </param>
        public DropdownPanelVM(ILayoutSettings layoutSettings, IMode mode, IDropdownVMFactory factory)
        {
            _layoutSettings = layoutSettings;
            _mode           = mode;

            Dropdowns = factory.GetDropdownVMs();

            _mode.PropertyChanged           += OnModeChanged;
            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }
示例#4
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings.
        /// </param>
        /// <param name="expectedValue">
        /// A boolean representing the expected value.
        /// </param>
        public DisplayMapsCompassesRequirement(
            ILayoutSettings layoutSettings, bool expectedValue)
        {
            _layoutSettings = layoutSettings;
            _expectedValue  = expectedValue;

            _layoutSettings.PropertyChanged += OnLayoutChanged;

            UpdateValue();
        }
示例#5
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings.
        /// </param>
        /// <param name="expectedValue">
        /// The expected orientation value.
        /// </param>
        public ItemsPanelOrientationRequirement(
            ILayoutSettings layoutSettings, Orientation expectedValue)
        {
            _layoutSettings = layoutSettings;
            _expectedValue  = expectedValue;

            _layoutSettings.PropertyChanged += OnLayoutChanged;

            UpdateValue();
        }
示例#6
0
        /// <summary>
        /// Constructor
        /// </summary>
        public MapAreaVM(ILayoutSettings layoutSettings, IMapAreaVMFactory factory, IMapConnectionCollection connectors)
        {
            _layoutSettings = layoutSettings;

            Maps         = factory.GetMapControlVMs();
            Connectors   = connectors;
            MapLocations = factory.GetMapLocationControlVMs();

            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }
示例#7
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings.
        /// </param>
        /// <param name="dropdowns">
        /// The dropdowns panel.
        /// </param>
        /// <param name="items">
        /// The items panel.
        /// </param>
        /// <param name="locations">
        /// The pinned locations panel.
        /// </param>
        public UIPanelVM(
            ILayoutSettings layoutSettings, IDropdownPanelVM dropdowns, IItemsPanelVM items,
            IPinnedLocationsPanelVM locations)
        {
            _layoutSettings = layoutSettings;

            Dropdowns = dropdowns;
            Items     = items;
            Locations = locations;

            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }
示例#8
0
        /// <summary>
        /// Constructor
        /// </summary>
        public ItemsPanelVM(
            ILayoutSettings layoutSettings, IHorizontalSmallItemPanelVM horizontalSmallItemPanel,
            IVerticalSmallItemPanelVM verticalSmallItemPanel, IModeSettingsVM modeSettings,
            ILargeItemPanelVM largeItems)
        {
            _layoutSettings = layoutSettings;

            _horizontalSmallItemPanel = horizontalSmallItemPanel;
            _verticalSmallItemPanel   = verticalSmallItemPanel;

            ModeSettings = modeSettings;
            LargeItems   = largeItems;

            PropertyChanged += OnPropertyChanged;
            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }
示例#9
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="bounds">
        /// The bounds settings.
        /// </param>
        /// <param name="tracker">
        /// The tracker settings.
        /// </param>
        /// <param name="layout">
        /// The layout settings.
        /// </param>
        /// <param name="colors">
        /// The color settings.
        /// </param>
        public AppSettings(
            IBoundsSettings bounds, ITrackerSettings tracker, ILayoutSettings layout,
            IColorSettings colors)
        {
            Bounds  = bounds;
            Tracker = tracker;
            Layout  = layout;
            Colors  = colors;

            var saveData = JsonConversion.Load <AppSettingsSaveData>(AppPath.AppSettingsFilePath);

            if (saveData != null)
            {
                Load(saveData);
            }
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings data.
        /// </param>
        /// <param name="markingFactory">
        /// An Autofac factory for creating marking controls.
        /// </param>
        /// <param name="notesFactory">
        /// An Autofac factory for creating tooltip notes controls.
        /// </param>
        /// <param name="location">
        /// The map location.
        /// </param>
        public MapLocationToolTipVM(
            ILayoutSettings layoutSettings, IMapLocationToolTipMarkingVM.Factory markingFactory,
            IMapLocationToolTipNotes.Factory notesFactory, ILocation location)
        {
            _layoutSettings = layoutSettings;
            _location       = location;

            if (_location.Sections[0] is IMarkableSection markableSection)
            {
                SectionMarking = markingFactory(markableSection.Marking);
            }

            Notes = notesFactory(_location);

            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }
示例#11
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="layoutSettings">
        /// The layout settings data.
        /// </param>
        /// <param name="undoRedoManager">
        /// The undo/redo manager.
        /// </param>
        /// <param name="undoableFactory">
        /// A factory for creating undoable actions.
        /// </param>
        /// <param name="location">
        /// The location to be represented.
        /// </param>
        /// <param name="sections">
        /// The observable collection of section control ViewModels.
        /// </param>
        /// <param name="notes">
        /// The pinned location note area control.
        /// </param>
        public PinnedLocationVM(
            ILayoutSettings layoutSettings, IUndoRedoManager undoRedoManager, IUndoableFactory undoableFactory,
            ILocation location, List <ISectionVM> sections, IPinnedLocationNoteAreaVM notes)
        {
            _layoutSettings  = layoutSettings;
            _undoRedoManager = undoRedoManager;
            _undoableFactory = undoableFactory;

            _location = location;

            Sections = sections;
            Notes    = notes;

            HandleClick = ReactiveCommand.Create <PointerReleasedEventArgs>(HandleClickImpl);

            _layoutSettings.PropertyChanged += OnLayoutChanged;
        }