Exemplo n.º 1
0
        /// <summary>
        /// Sets the read only state of a document
        /// </summary>
        /// <param name="readOnly">if set to <c>true</c> [read only].</param>
        /// <returns></returns>
        public bool SetReadOnly(bool readOnly)
        {
            IVsPersistDocData2 pdd2 = RawDocument as IVsPersistDocData2;

            if (pdd2 == null)
            {
                return(false);
            }

            return(SafeSucceeded(pdd2.SetDocDataReadOnly, readOnly ? 1 : 0));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Determines whether the document is readonly
        /// </summary>
        /// <returns>
        ///     <c>true</c> if [is read only]; otherwise, <c>false</c>.
        /// </returns>
        public bool IsReadOnly()
        {
            IVsPersistDocData2 pdd2 = RawDocument as IVsPersistDocData2;

            if (pdd2 == null)
            {
                return(false);
            }

            int readOnly;

            return(SafeSucceeded(pdd2.IsDocDataReadOnly, out readOnly) && (readOnly != 0));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Sets the read only state of a document
        /// </summary>
        /// <param name="readOnly">if set to <c>true</c> [read only].</param>
        /// <returns></returns>
        public bool SetReadOnly(bool readOnly)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            IVsPersistDocData2 pdd2 = RawDocument as IVsPersistDocData2;

            if (pdd2 == null)
            {
                return(false);
            }

            return(SafeSucceeded(pdd2.SetDocDataReadOnly, readOnly ? 1 : 0));
        }
Exemplo n.º 4
0
        /// <include file='doc\RunningDocumentTable.uex' path='docs/doc[@for="VsShell.SaveFileIfDirty"]/*' />
        public string SaveFileIfDirty(string fullPath)
        {
            object docData = this.FindDocument(fullPath);

            if (docData is IVsPersistDocData2)
            {
                IVsPersistDocData2 pdd = (IVsPersistDocData2)docData;
                int dirty = 0;
                int hr    = pdd.IsDocDataDirty(out dirty);
                if (NativeMethods.Succeeded(hr) && dirty != 0)
                {
                    string newdoc;
                    int    cancelled;
                    NativeMethods.ThrowOnFailure(pdd.SaveDocData(VSSAVEFLAGS.VSSAVE_Save, out newdoc, out cancelled));
                    return(newdoc);
                }
            }
            return(fullPath);
        }