コード例 #1
0
        public MainForm(IConfigProvider configProvider,
                        IWdcStoryContainer storyContainer,
                        IStorySyncWorker syncWorker,
                        SimpleInjector.Container diContainer,
                        IStoryFileStore fileStore,
                        IGuiContext guiContext
                        )
        {
            _configProvider = configProvider;
            _storyContainer = storyContainer;
            _diContainer    = diContainer;
            _syncWorker     = syncWorker;
            _fileStore      = fileStore;
            _guiContext     = guiContext;

            InitializeComponent();

            // Set a few things up
            InitStoryList();
            RefreshStoryList();
            UpdateStatusMessage(_syncWorker.GetCurrentStatus().Message);

            // Subscribe to some events
            LogManager.OnLogEvent            += new EventHandler <LogEventArgs>(OnLogEvent);
            _storyContainer.OnUpdate         += new EventHandler <WdcStoryContainerEventArgs>(OnStoryContainerUpdate);
            _syncWorker.OnWorkerStatusChange += new EventHandler <StorySyncWorkerStatusEventArgs>(OnSyncWorkerStatusEvent);
            _syncWorker.OnStoryStatusChange  += new EventHandler <StorySyncWorkerStoryStatusEventArgs>(OnSyncWorkerStoryStatusEvent);

            CheckInitialSetupRequired();
        }
コード例 #2
0
        public StorySyncWorker(IWdcStoryContainer storyContainer,
                               IWdcReader wdcReader,
                               IWdcClient wdcClient,
                               IConfigProvider configProvider,
                               IFileDumper fileDumper,
                               IGuiContext guiContext
                               )
        {
            _storyContainer = storyContainer;
            _wdcReader      = wdcReader;
            _wdcClient      = wdcClient;
            _configProvider = configProvider;
            _fileDumper     = fileDumper;
            _gui            = guiContext;
            SetSettings(configProvider.GetSection <StorySyncWorkerSettings>());

            // Init some stuff
            _storyStatusList = new Dictionary <string, StorySyncWorkerStoryStatus>();
            _ctSource        = new CancellationTokenSource();
            _status          = new StorySyncWorkerStatus();

            // TODO add functionality to react to configuration changes. E.g. Cancel process, update settings, start again.
            // Subscribe to some events
            _storyContainer.OnUpdate         += new EventHandler <WdcStoryContainerEventArgs>(OnStoryContainerChanged);
            _configProvider.OnSectionChanged += new EventHandler <ConfigSectionChangedEventArgs>(OnSettingsChanged);
        }
コード例 #3
0
        public EditStoryForm(IWdcStoryContainer storyContainer)
        {
            _storyContainer = storyContainer;

            _story = new WdcInteractiveStory();

            InitializeComponent();
        }
コード例 #4
0
        public AddStoryWdcForm(IWdcClient client, IWdcReader reader, IWdcStoryContainer storyContainer)
        {
            _wdcClient         = client;
            _wdcReader         = reader;
            _wdcStoryContainer = storyContainer;
            _ctSourceWdcClient = new CancellationTokenSource();

            InitializeComponent();

            // Set the form
            SetFormState(AddStoryFormState.ReadToGetStory);
        }