Exemplo n.º 1
0
 public static void TaskEventNotifier(ITaskList taskList)
 {
     if(taskList != null)
     {
         ((ITaskListWithEvents)taskList).Add += new AddTaskEventHandler(ConsoleTaskEventNotifier_Add);
     }
 }
Exemplo n.º 2
0
        void OnTaskListToggled(object sender, Gtk.ToggledArgs args)
        {
            Logger.Debug("OnTaskListToggled");
            Gtk.TreeIter iter;
            Gtk.TreePath path = new Gtk.TreePath(args.Path);
            if (!taskListsTree.Model.GetIter(out iter, path))
            {
                return;                 // Do nothing
            }
            ITaskList taskList = taskListsTree.Model.GetValue(iter, 0) as ITaskList;

            if (taskList == null)
            {
                return;
            }

            //if (taskListsToHide == null)
            //	taskListsToHide = BuildNewTaskListList ();

            if (taskListsToHide.Contains(taskList.Name))
            {
                taskListsToHide.Remove(taskList.Name);
            }
            else
            {
                taskListsToHide.Add(taskList.Name);
            }

            application.Preferences.SetStringList(PreferencesKeys.HideInAllTaskList,
                                                  taskListsToHide);
        }
Exemplo n.º 3
0
 public ToDoListPresenter(IToDoListView view, ITaskList taskList, IExecutor executor)
 {
     this.view = view;
     this.executor = executor;
     this.taskList = taskList;
     WireUpEvents();
 }
Exemplo n.º 4
0
        private void ToggleCellDataFunc(Gtk.TreeViewColumn column,
                                        Gtk.CellRenderer cell,
                                        Gtk.TreeModel model,
                                        Gtk.TreeIter iter)
        {
            Gtk.CellRendererToggle crt = cell as Gtk.CellRendererToggle;
            ITaskList taskList         = model.GetValue(iter, 0) as ITaskList;

            if (taskList == null)
            {
                crt.Active = true;
                return;
            }

            // If the setting is null or empty, show all taskLists
            if (taskListsToHide == null || taskListsToHide.Count == 0)
            {
                crt.Active = true;
                return;
            }

            // Check to see if the taskList is specified in the list
            if (taskListsToHide.Contains(taskList.Name))
            {
                crt.Active = false;
                return;
            }

            crt.Active = true;
        }
Exemplo n.º 5
0
        public TaskDetailsView(ITaskList taskList)
        {
            InitializeComponent();

            _viewModel = new TaskDetailsViewModel(this, taskList);

            DataContext = ViewModel;
        }
Exemplo n.º 6
0
 static TaskListManager()
 {
     _projects = new Dictionary <Guid, TaskListManager>();
     _gate     = new object();
     _taskList = XSharpProjectPackage.XInstance.TaskList;
     _manager  = _taskList.TableControl.Manager;
     _provider = new TaskListProvider(_manager);
 }
Exemplo n.º 7
0
        public void Save(string fileName, ITaskList list)
        {
            FileStream      writerFileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
            BinaryFormatter formatter        = new BinaryFormatter();

            formatter.Serialize(writerFileStream, list);

            writerFileStream.Close();
        }
Exemplo n.º 8
0
        /// <summary>
        /// Refilter the hard way by discovering the taskList to filter on
        /// </summary>
        private void Refilter()
        {
            ITaskList cat = GetSelectedTaskList();

            if (cat != null)
            {
                Refilter(cat);
            }
        }
Exemplo n.º 9
0
        protected override void OnNavigatedTo(NavigationEventArgs args)
        {
            App.Events.ActiveTaskChanged += this.OnActiveTaskChanged;

            this.TaskListViewModel         = App.State.TaskList;
            this.TaskListView.SelectedItem = App.State.ActiveTask;

            this.Session.Model = App.State.ActiveSession;
        }
Exemplo n.º 10
0
        public void Save(string fileName, ITaskList list)
        {
            if (string.Equals(fileName, "Exception"))
            {
                throw new ArgumentException();
            }

            SavedFile = fileName;
        }
        public CommentTaskTokenSerializer(
            SVsServiceProvider serviceProvider, IOptionService optionService)
        {
            _optionService = optionService;

            _taskList = serviceProvider.GetService(typeof(SVsTaskList)) as ITaskList;
            _lastCommentTokenCache = GetTaskTokenList(_taskList);

            // The SVsTaskList may not be available (e.g. during "devenv /build")
            if (_taskList != null)
            {
                _taskList.PropertyChanged += OnPropertyChanged;
            }
        }
Exemplo n.º 12
0
        public CommentTaskTokenSerializer(
            VisualStudioWorkspaceImpl workspace)
        {
            _optionService = workspace.Services.GetService <IOptionService>();

            _taskList = workspace.GetVsService <SVsTaskList, ITaskList>();
            _lastCommentTokenCache = GetTaskTokenList(_taskList);

            // The SVsTaskList may not be available (e.g. during "devenv /build")
            if (_taskList != null)
            {
                _taskList.PropertyChanged += OnPropertyChanged;
            }
        }
Exemplo n.º 13
0
        public CommentTaskTokenSerializer(
            SVsServiceProvider serviceProvider, IOptionService optionService)
        {
            _optionService = optionService;

            _taskList = serviceProvider.GetService(typeof(SVsTaskList)) as ITaskList;
            _lastCommentTokenCache = GetTaskTokenList(_taskList);

            // The SVsTaskList may not be available (e.g. during "devenv /build")
            if (_taskList != null)
            {
                _taskList.PropertyChanged += OnPropertyChanged;
            }
        }
Exemplo n.º 14
0
        public CommentTaskTokenSerializer(
            VisualStudioWorkspaceImpl workspace)
        {
            _optionService = workspace.Services.GetService<IOptionService>();

            _taskList = workspace.GetVsService<SVsTaskList, ITaskList>();
            _lastCommentTokenCache = GetTaskTokenList(_taskList);

            // The SVsTaskList may not be available (e.g. during "devenv /build")
            if (_taskList != null)
            {
                _taskList.PropertyChanged += OnPropertyChanged;
            }
        }
Exemplo n.º 15
0
        protected ITaskList GetSelectedTaskList()
        {
            ITaskList foundTaskList = null;

            string cat = Application.Preferences.Get(
                PreferencesKeys.SelectedTaskListKey);

            if (cat != null)
            {
                var model = Application.BackendManager.TaskLists;
                foundTaskList = model.FirstOrDefault(c => c.Name == cat);
            }

            return(foundTaskList);
        }
Exemplo n.º 16
0
        // XSharpLanguageService _langService = null;
        #region Overridden Implementation
        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        protected override async System.Threading.Tasks.Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress)
        {
            // Give the codemodel a way to talk to the VS Shell
            oShellLink          = new XSharpShellLink();
            XSettings.ShellLink = oShellLink;

            this.RegisterToolWindows();

            XSharpProjectPackage.instance = this;
            this.SolutionListeners.Add(new SolutionEvents(this));
            await base.InitializeAsync(cancellationToken, progress);

            await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

            // The project selector helps to choose between MPF and CPS projects
            //_projectSelector = new XSharpProjectSelector();
            //await _projectSelector.InitAsync(this);

            this.settings = new XPackageSettings(this);
            VS.Events.BuildEvents.ProjectConfigurationChanged += BuildEvents_ProjectConfigurationChanged;

            this.RegisterProjectFactory(new XSharpProjectFactory(this));
            // Indicate how to open the different source files : SourceCode or Designer ??
            this.RegisterEditorFactory(new XSharpEditorFactory(this));
            this.RegisterProjectFactory(new XSharpWPFProjectFactory(this));

            // editors for the binaries
            base.RegisterEditorFactory(new VOFormEditorFactory(this));
            base.RegisterEditorFactory(new VOMenuEditorFactory(this));
            base.RegisterEditorFactory(new VODBServerEditorFactory(this));
            base.RegisterEditorFactory(new VOFieldSpecEditorFactory(this));

            //this._documentWatcher = new XSharpDocumentWatcher(this);
            _errorList = await VS.GetRequiredServiceAsync <SVsErrorList, IErrorList>();

            _taskList = await VS.GetRequiredServiceAsync <SVsTaskList, ITaskList>();

            var shell = await VS.GetRequiredServiceAsync <SVsShell, IVsShell>();

            if (shell != null)
            {
                shell.AdviseShellPropertyChanges(this, out shellCookie);
            }
            _langservice = await GetServiceAsync(typeof(XSharpLanguageService)) as XSharpLanguageService;

            await this.RegisterCommandsAsync();
            await GetEditorOptionsAsync();
        }
Exemplo n.º 17
0
        private void TextCellDataFunc(Gtk.TreeViewColumn treeColumn,
                                      Gtk.CellRenderer renderer, Gtk.TreeModel model,
                                      Gtk.TreeIter iter)
        {
            Gtk.CellRendererText crt = renderer as Gtk.CellRendererText;
            crt.Ellipsize = Pango.EllipsizeMode.End;
            ITaskList taskList = model.GetValue(iter, 0) as ITaskList;

            if (taskList == null)
            {
                crt.Text = string.Empty;
                return;
            }

            crt.Text = GLib.Markup.EscapeText(taskList.Name);
        }
Exemplo n.º 18
0
        /// <summary>
        /// This returns the currently selected taskList.
        /// TODO: This should really be moved as a method Application or
        /// or something.
        /// </summary>
        /// <returns>
        /// A <see cref="ITaskList"/>
        /// </returns>
        private ITaskList GetSelectedTaskList()
        {
            // TODO: Move this code into some function in the backend/somewhere
            // with the signature of GetTaskListForName (string catName):ITaskList
            string selectedTaskListName =
                Application.Preferences.Get(PreferencesKeys.SelectedTaskListKey);

            ITaskList taskList = null;

            if (selectedTaskListName != null)
            {
                var model = Application.BackendManager.TaskLists;
                taskList = model.FirstOrDefault(c => c != null && c.Name == selectedTaskListName);
            }

            return(taskList);
        }
Exemplo n.º 19
0
        protected override void OnNavigatedTo(NavigationEventArgs args)
        {
            this.TaskListViewModel  = App.State.TaskList;
            this.SelectedTaskOnOpen = App.State.ActiveTask;

            if (this.SelectedTaskOnOpen == null)
            {
                this.SelectedTaskColorBrush     = new SolidColorBrush(Colors.White);
                this.TaskHeaderPanel.Visibility = Visibility.Collapsed;
                this.TaskInfoPanel.Visibility   = Visibility.Collapsed;
            }
            else
            {
                this.SelectedTaskColorBrush = new SolidColorBrush(App.Settings.GetTaskColor(this.SelectedTaskOnOpen));
            }
            this.DeleteRequestor.IsEnabled = false;
        }
Exemplo n.º 20
0
        public CommentTaskTokenSerializer(
            VisualStudioWorkspace workspace,
            [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
        {
            _workspace = workspace;

            // The SVsTaskList may not be available or doesn't actually implement ITaskList
            // in the "devenv /build" scenario
            _taskList = serviceProvider.GetService(typeof(SVsTaskList)) as ITaskList;

            // GetTaskTokenList is safe in the face of nulls
            _lastCommentTokenCache = GetTaskTokenList(_taskList);

            if (_taskList != null)
            {
                _taskList.PropertyChanged += OnPropertyChanged;
            }
        }
Exemplo n.º 21
0
        private static string GetTaskTokenList(ITaskList taskList)
        {
            var commentTokens = taskList?.CommentTokens;
            if (commentTokens == null || commentTokens.Count == 0)
            {
                return string.Empty;
            }

            var result = new List<string>();
            foreach (var commentToken in commentTokens)
            {
                if (string.IsNullOrWhiteSpace(commentToken.Text))
                {
                    continue;
                }

                result.Add($"{commentToken.Text}:{((int)commentToken.Priority).ToString()}");
            }

            return string.Join("|", result);
        }
Exemplo n.º 22
0
        public void Save(ITaskList list, UserInputParser input)
        {
            string saveFileName = _fileName;

            while (string.IsNullOrWhiteSpace(saveFileName))
            {
                Console.WriteLine("Please enter the filename that you would like to save to:");
                saveFileName = input.GetString();
            }

            try
            {
                _storage.Save(saveFileName, list);
                _fileName = saveFileName;
                Console.WriteLine(string.Format("Task List saved to {0}.", saveFileName));
            }
            catch (Exception e)
            {
                Console.WriteLine(string.Format("Unable to save task data. {0}", e.Message));
            }
        }
Exemplo n.º 23
0
        private static string GetTaskTokenList(ITaskList taskList)
        {
            var commentTokens = taskList?.CommentTokens;

            if (commentTokens == null || commentTokens.Count == 0)
            {
                return(string.Empty);
            }

            var result = new List <string>();

            foreach (var commentToken in commentTokens)
            {
                if (string.IsNullOrWhiteSpace(commentToken.Text))
                {
                    continue;
                }

                result.Add($"{commentToken.Text}:{((int)commentToken.Priority).ToString()}");
            }

            return(string.Join("|", result));
        }
Exemplo n.º 24
0
        public CompletedTaskGroup(string groupName, DateTime rangeStart,
                                  DateTime rangeEnd, ICollection <ITask> tasks, GtkApplicationBase application)
            : base(groupName, rangeStart, rangeEnd, new CompletedTasksSortModel(tasks), application)
        {
            var preferences = application.Preferences;

            // Only hide this group, when ShowCompletedTasks is unset in prefs.
            // If it's set, don't hide this group when it's empty because then the range
            // slider won't appear and the user won't be able to customize the range.
            HideWhenEmpty = !preferences.GetBool(PreferencesKeys.ShowCompletedTasksKey);

            // track changes in prefs for ShowCompletedTasks setting
            preferences.SettingChanged += (prefs, key) => {
                switch (key)
                {
                case PreferencesKeys.ShowCompletedTasksKey:
                    HideWhenEmpty = !prefs.GetBool(PreferencesKeys.ShowCompletedTasksKey);

                    // refresh ui
                    var cat = GetSelectedTaskList();
                    if (cat != null)
                    {
                        Refilter(cat);
                    }
                    break;

                case PreferencesKeys.SelectedTaskListKey:
                    selectedTaskList = GetSelectedTaskList();
                    Refilter(selectedTaskList);
                    break;
                }
            };

            CreateRangeSlider();
            UpdateDateRanges();
        }
Exemplo n.º 25
0
        private ITask CreateTask(string taskText, ITaskList taskList)
        {
            var task = taskList.CreateTask (taskText);

            if (task == null) {
                Logger.Debug ("Error creating a new task!");
                // Show error status
                status = Catalog.GetString ("Error creating a new task");
                TaskWindow.ShowStatus (status);
            } else {
                // Show successful status
                status = Catalog.GetString ("Task created successfully");
                TaskWindow.ShowStatus (status);
                // Clear out the entry
                addTaskEntry.Text = string.Empty;
                addTaskEntry.GrabFocus ();
            }

            return task;
        }
Exemplo n.º 26
0
 // TODO: Move this method into a property of ITaskList.TaskCount
 private int GetTaskCountInTaskList(ITaskList taskList)
 {
     // This is disgustingly inefficient, but, oh well
     int count = 0;
     var model = application.BackendManager.Tasks;
     count = model.Count (t => t != null &&
                          t.State == TaskState.Active &&
                          taskList.Contains (t));
     return count;
 }
Exemplo n.º 27
0
 /// <summary>
 /// Deletes the task list.
 /// </summary>
 /// <returns><c>true</c>, if task list was deleted, <c>false</c> otherwise.</returns>
 /// <param name="list">The task list to delete.</param>
 public bool DeleteTaskList(ITaskList list)
 {
     return taskLists.Remove (list);
 }
Exemplo n.º 28
0
 public TasksController(ITaskList tasks)
 {
     this.tasks = tasks;
 }
Exemplo n.º 29
0
        /// <summary>
        /// Create a new task in Tasque using the given taskListName and name.
        /// </summary>
        /// <param name="taskListName">
        /// A <see cref="System.String"/>.  The name of an existing taskList.
        /// Matches are not case-sensitive.
        /// </param>
        /// <param name="taskName">
        /// A <see cref="System.String"/>.  The name of the task to be created.
        /// </param>
        /// <param name="enterEditMode">
        /// A <see cref="System.Boolean"/>.  Specify true if the TaskWindow
        /// should be shown, the new task scrolled to, and have it be put into
        /// edit mode immediately.
        /// </param>
        /// <param name="parseDate">
        /// A <see cref="System.Boolean"/>.  Specify true if the
        /// date should be parsed out of the taskName (in case
        /// Preferences.ParseDateEnabledKey is true as well).
        /// </param>
        /// <returns>
        /// A unique <see cref="System.String"/> which can be used to reference
        /// the task later.
        /// </returns>
        public string CreateTask(string taskListName, string taskName,
                                 bool enterEditMode, bool parseDate)
        {
            var model = application.BackendManager.TaskLists;

            //
            // Validate the input parameters.  Don't allow null or empty strings
            // be passed-in.
            //
            if (taskListName == null || taskListName.Trim() == string.Empty ||
                taskName == null || taskName.Trim() == string.Empty)
            {
                return(string.Empty);
            }

            //
            // Look for the specified taskList
            //
            if (model.Count == 0)
            {
                return(string.Empty);
            }

            ITaskList taskList = model.FirstOrDefault(c => c.Name.ToLower() == taskListName.ToLower());

            if (taskList == null)
            {
                return(string.Empty);
            }

            // If enabled, attempt to parse due date information
            // out of the taskName.
            DateTime taskDueDate = DateTime.MinValue;

            if (parseDate && application.Preferences.GetBool(PreferencesKeys.ParseDateEnabledKey))
            {
                TaskParser.Instance.TryParse(
                    taskName,
                    out taskName,
                    out taskDueDate);
            }
            ITask task = null;

            try {
                task = taskList.CreateTask(taskName);
                taskList.Add(task);
                if (taskDueDate != DateTime.MinValue)
                {
                    task.DueDate = taskDueDate;
                }
            } catch (Exception e) {
                Logger.Error("Exception calling Application.Backend.CreateTask from RemoteControl: {0}", e.Message);
                return(string.Empty);
            }

            if (task == null)
            {
                return(string.Empty);
            }

            if (enterEditMode)
            {
//				TaskWindow.SelectAndEdit (task, application);
            }

                        #if ENABLE_NOTIFY_SHARP
            // Use notify-sharp to alert the user that a new task has been
            // created successfully.
            application.ShowAppNotification(
                Catalog.GetString("New task created."),        // summary
                Catalog.GetString(taskName));                  // body
                        #endif

            return(task.Id);
        }
Exemplo n.º 30
0
 public void Refilter(ITaskList selectedTaskList)
 {
     taskView.Refilter (selectedTaskList);
 }
Exemplo n.º 31
0
 public ToDoListView(ITaskList taskList)
 {
     InitializeComponent();
     this.taskList = taskList;
     WireUpEvents();
 }
Exemplo n.º 32
0
        public TaskView(Gtk.TreeModel model, IPreferences preferences)
        {
            if (preferences == null)
            {
                throw new ArgumentNullException("preferences");
            }

            TreeView = new TreeView();

                        #if GTK_2_12
            // set up the timing for the tooltips
            TreeView.Settings.SetLongProperty("gtk-tooltip-browse-mode-timeout", 0, "Tasque:TaskTreeView");
            TreeView.Settings.SetLongProperty("gtk-tooltip-browse-timeout", 750, "Tasque:TaskTreeView");
            TreeView.Settings.SetLongProperty("gtk-tooltip-timeout", 750, "Tasque:TaskTreeView");

            ConnectEvents();
                        #endif

            // TODO: Modify the behavior of the TreeView so that it doesn't show
            // the highlighted row.  Then, also tie in with the mouse hovering
            // so that as you hover the mouse around, it will automatically
            // select the row that the mouse is hovered over.  By doing this,
            // we should be able to not require the user to click on a task
            // to select it and THEN have to click on the column item they want
            // to modify.

            filterTaskList = null;

            modelFilter             = new Gtk.TreeModelFilter(model, null);
            modelFilter.VisibleFunc = FilterFunc;

            modelFilter.RowInserted += OnRowInsertedHandler;
            modelFilter.RowDeleted  += OnRowDeletedHandler;
            Refilter();

            //Model = modelFilter

            TreeView.Selection.Mode = Gtk.SelectionMode.Single;
            TreeView.RulesHint      = false;
            TreeView.HeadersVisible = false;
            TreeView.HoverSelection = true;

            // TODO: Figure out how to turn off selection highlight

            columns = new List <ITaskColumn> ();
            var nodeList = AddinManager.GetExtensionNodes(typeof(ITaskColumn)).Cast <TaskColNode> ();
            var nodes    = new List <TaskColNode> (nodeList);
            foreach (var node in nodes)
            {
                AddColumn(node, nodes);
            }

            rowEditingDictionary = new ConcurrentDictionary <ITaskColumn, TaskRowEditingEventArgs> ();
            columns.Sort((x, y) => x.DefaultPosition.CompareTo(y.DefaultPosition));
            foreach (var col in columns)
            {
                col.Initialize(Model, this, preferences);

                col.CellEditingStarted += (sender, e) => {
                    if (rowEditingDictionary.IsEmpty)
                    {
                        IsTaskBeingEdited = true;
                    }

                    if (!rowEditingDictionary.Any(v => v.Value.ITask == e.ITask))
                    {
                        if (RowEditingStarted != null)
                        {
                            RowEditingStarted(this, e);
                        }
                    }
                    rowEditingDictionary.TryAdd((ITaskColumn)sender, e);
                };

                col.CellEditingFinished += (sender, e) => {
                    TaskRowEditingEventArgs args;
                    rowEditingDictionary.TryRemove((ITaskColumn)sender, out args);
                    if (!rowEditingDictionary.Any(v => v.Value.ITask == e.ITask))
                    {
                        if (RowEditingFinished != null)
                        {
                            RowEditingFinished(this, e);
                        }
                    }

                    if (rowEditingDictionary.IsEmpty)
                    {
                        IsTaskBeingEdited = false;
                    }
                };

                TreeView.AppendColumn(col.TreeViewColumn);
            }
        }
Exemplo n.º 33
0
 public void Refilter(ITaskList selectedTaskList)
 {
     this.filterTaskList = selectedTaskList;
     TreeView.Model      = modelFilter;
     modelFilter.Refilter();
 }
Exemplo n.º 34
0
 public TaskListMenuItem(ITaskList taskList)
     : base(taskList.Name)
 {
     cat = taskList;
 }
Exemplo n.º 35
0
 public void Refilter(ITaskList selectedTaskList)
 {
     taskView.Refilter(selectedTaskList);
 }
Exemplo n.º 36
0
        // XSharpLanguageService _langService = null;
        #region Overridden Implementation
        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        protected override async System.Threading.Tasks.Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress)
        {
            // Suspend walking until Solution is opened.
            base.SolutionListeners.Add(new ModelScannerEvents(this));
            await base.InitializeAsync(cancellationToken, progress);

            await JoinableTaskFactory.SwitchToMainThreadAsync();

            _uiThread = new UIThread();
            XSharpProjectPackage.instance      = this;
            XSharpModel.XSolution.OutputWindow = this;
            this.RegisterProjectFactory(new XSharpProjectFactory(this));
            this.settings = new XPackageSettings(this);
            validateVulcanEditors();
            this.RegisterDebuggerEvents();
            // Indicate how to open the different source files : SourceCode or Designer ??
            this.RegisterEditorFactory(new XSharpEditorFactory(this));
            this.RegisterProjectFactory(new XSharpWPFProjectFactory(this));

            // editors for the binaries
            base.RegisterEditorFactory(new VOFormEditorFactory(this));
            base.RegisterEditorFactory(new VOMenuEditorFactory(this));
            base.RegisterEditorFactory(new VODBServerEditorFactory(this));
            base.RegisterEditorFactory(new VOFieldSpecEditorFactory(this));
            XSharp.Project.XSharpMenuItems.Initialize(this);

            // Register a timer to call our language service during
            // idle periods.
            IOleComponentManager mgr = await GetServiceAsync(typeof(SOleComponentManager)) as IOleComponentManager;

            if (m_componentID == 0 && mgr != null)
            {
                OLECRINFO[] crinfo = new OLECRINFO[1];
                crinfo[0].cbSize = (uint)Marshal.SizeOf(typeof(OLECRINFO));
                crinfo[0].grfcrf = (uint)_OLECRF.olecrfNeedIdleTime |
                                   (uint)_OLECRF.olecrfNeedPeriodicIdleTime;
                crinfo[0].grfcadvf = (uint)_OLECADVF.olecadvfModal |
                                     (uint)_OLECADVF.olecadvfRedrawOff |
                                     (uint)_OLECADVF.olecadvfWarningsOff;
                crinfo[0].uIdleTimeInterval = 1000;
                int hr = mgr.FRegisterComponent(this, crinfo, out m_componentID);
            }
            // Initialize Custom Menu Items
            // register property changed event handler


            var shell = await this.GetServiceAsync(typeof(SVsShell)) as IVsShell;

            Assumes.Present(shell);

            shell.AdviseShellPropertyChanges(this, out shellCookie);
            //
            // ObjectBrowser : Add the LibraryManager service as a Service provided by that container
            IServiceContainer      container = this as IServiceContainer;
            ServiceCreatorCallback callback  = new ServiceCreatorCallback(CreateLibraryService);

            //
            container.AddService(typeof(IXSharpLibraryManager), callback, true);
            this._documentWatcher = new XSharpDocumentWatcher(this);

            _txtManager = await GetServiceAsync(typeof(SVsTextManager)) as IVsTextManager4;

            // determine version of VS
            object vers;

            shell.GetProperty((int)__VSSPROPID5.VSSPROPID_ReleaseVersion, out vers);

            VsVersion  = vers.ToString();
            _errorList = await GetServiceAsync(typeof(SVsErrorList)) as IErrorList;

            _taskList = await GetServiceAsync(typeof(SVsTaskList)) as ITaskList;
        }
Exemplo n.º 37
0
        private ITaskList taskList; //why private - outside world should not know. proxy attendance cannot given public

        #endregion Fields

        #region Constructors

        public TaskEventGenerator(ITaskList taskList)
        {
            this.taskList = taskList;
            Console.WriteLine("from TaskEventGenerator added");
        }
Exemplo n.º 38
0
 public TaskListController()
 {
     this.tasklist = new Interfaces.TaskList();
 }
Exemplo n.º 39
0
        public TaskView(Gtk.TreeModel model, IPreferences preferences)
        {
            if (preferences == null)
                throw new ArgumentNullException ("preferences");

            TreeView = new TreeView ();

            #if GTK_2_12
            // set up the timing for the tooltips
            TreeView.Settings.SetLongProperty("gtk-tooltip-browse-mode-timeout", 0, "Tasque:TaskTreeView");
            TreeView.Settings.SetLongProperty("gtk-tooltip-browse-timeout", 750, "Tasque:TaskTreeView");
            TreeView.Settings.SetLongProperty("gtk-tooltip-timeout", 750, "Tasque:TaskTreeView");

            ConnectEvents();
            #endif

            // TODO: Modify the behavior of the TreeView so that it doesn't show
            // the highlighted row.  Then, also tie in with the mouse hovering
            // so that as you hover the mouse around, it will automatically
            // select the row that the mouse is hovered over.  By doing this,
            // we should be able to not require the user to click on a task
            // to select it and THEN have to click on the column item they want
            // to modify.

            filterTaskList = null;

            modelFilter = new Gtk.TreeModelFilter (model, null);
            modelFilter.VisibleFunc = FilterFunc;

            modelFilter.RowInserted += OnRowInsertedHandler;
            modelFilter.RowDeleted += OnRowDeletedHandler;
            Refilter ();

            //Model = modelFilter

            TreeView.Selection.Mode = Gtk.SelectionMode.Single;
            TreeView.RulesHint = false;
            TreeView.HeadersVisible = false;
            TreeView.HoverSelection = true;

            // TODO: Figure out how to turn off selection highlight

            columns = new List<ITaskColumn> ();
            var nodeList = AddinManager.GetExtensionNodes (typeof(ITaskColumn)).Cast<TaskColNode> ();
            var nodes = new List<TaskColNode> (nodeList);
            foreach (var node in nodes)
                AddColumn (node, nodes);

            rowEditingDictionary = new ConcurrentDictionary<ITaskColumn, TaskRowEditingEventArgs> ();
            columns.Sort ((x, y) => x.DefaultPosition.CompareTo (y.DefaultPosition));
            foreach (var col in columns) {
                col.Initialize (Model, this, preferences);

                col.CellEditingStarted += (sender, e) => {
                    if (rowEditingDictionary.IsEmpty)
                        IsTaskBeingEdited = true;

                    if (!rowEditingDictionary.Any (v => v.Value.ITask == e.ITask)) {
                        if (RowEditingStarted != null)
                            RowEditingStarted (this, e);
                    }
                    rowEditingDictionary.TryAdd ((ITaskColumn)sender, e);
                };

                col.CellEditingFinished += (sender, e) => {
                    TaskRowEditingEventArgs args;
                    rowEditingDictionary.TryRemove ((ITaskColumn)sender, out args);
                    if (!rowEditingDictionary.Any (v => v.Value.ITask == e.ITask)) {
                        if (RowEditingFinished != null)
                            RowEditingFinished (this, e);
                    }

                    if (rowEditingDictionary.IsEmpty)
                        IsTaskBeingEdited = false;
                };

                TreeView.AppendColumn (col.TreeViewColumn);
            }
        }
Exemplo n.º 40
0
 public void Refilter(ITaskList selectedTaskList)
 {
     this.filterTaskList = selectedTaskList;
     TreeView.Model = modelFilter;
     modelFilter.Refilter ();
 }