예제 #1
0
        GetSnoopSet()
        {
            try {
                Snoop.ObjIdSet objSet = new Snoop.ObjIdSet("*A");   // TBD: how to deal with named sets? ... later...

                // select the graphic objects they want
                PromptSelectionOptions selOpts = new PromptSelectionOptions();
                selOpts.MessageForAdding = "Select graphical objects for test (or RETURN for none)";
                Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;

                PromptSelectionResult res = ed.GetSelection(selOpts);
                if (res.Status == PromptStatus.OK)
                {
                    foreach (ObjectId objId in res.Value.GetObjectIds())     // set these as the original, let dialog add the rest
                    {
                        objSet.AddToSet(objId);
                    }
                }
                else if (res.Status == PromptStatus.Error)
                {
                    ;       // empty selection set
                }
                else
                {
                    return(null);
                }

                Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Select non-graphical objects by browsing, right-click on item, choose \"Add to Snoop Set\".");

                using (TransactionHelper trHlp = new TransactionHelper(MgdDbg.Utils.Db.GetCurDwg())) {
                    trHlp.Start();

                    Snoop.Forms.Database form = new Snoop.Forms.Database(trHlp.Database, trHlp);
                    // temporarily hook up the snoop set to the snoop browse dialogs.
                    m_snoopObjSet = objSet;

                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        trHlp.Commit();
                        return(objSet);
                    }
                    else
                    {
                        trHlp.Abort();
                        return(null);
                    }
                }
            }
            finally {
                m_snoopObjSet = null;   // reset to null for next invocation
            }
        }
예제 #2
0
        DrillDown()
        {
            if (m_val != null)
            {
                using (TransactionHelper trHlp = new TransactionHelper(m_val)) {
                    trHlp.Start();

                    Snoop.Forms.Database form = new Snoop.Forms.Database(m_val, trHlp);
                    form.ShowDialog();

                    trHlp.Commit();
                }
            }
        }
예제 #3
0
        SnoopDatabase()
        {
            Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;

            using (TransactionHelper trHlp = new TransactionHelper(db)) {
                trHlp.Start();

                Snoop.Forms.Database dbox = new Snoop.Forms.Database(db, trHlp);
                dbox.Text = db.Filename;
                AcadApp.ShowModalDialog(dbox);

                trHlp.Commit();
            }
        }
예제 #4
0
        OnBnSnoop(object sender, System.EventArgs e)
        {
            Snoop.ObjIdSet curSet = GetCurrentSet();
            if (curSet != null)
            {
                using (TransactionHelper trHlp = new TransactionHelper(curSet.Db)) {
                    trHlp.Start();

                    Snoop.Forms.Database form = new Snoop.Forms.Database(curSet.Db, trHlp);
                    form.ShowDialog();

                    trHlp.Commit();
                }
            }
        }