
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi, I have created jig for my entities.
For the simplicity, imagine that user draws a line (end point of line)
While jigging, the user has some possibilities:
1. Just click with a mouse to get a point
2. Enter keyword (for example: "show_line_props")
3. Enter distance and angle (for example: "@100<45")
4. Enter distance (for example: "100")
So now:
Ad. 1. This is the simplest case and it works all the time 😉
Ad. 2. I had to do some things here to get it to work:
AcEdJig::DragStatus PreviewJig::sampler() { if(m_keywords.length()) setKeywordList(m_keywords.kACharPtr()); //... AcEdJig::DragStatus status = acquirePoint(m_currentPoint); return status; }
And that works as well.
Ad. 3. I had to distinguish user input type. I did it with InputPointMonitor and it works.
Ad. 4. This is the hardest one, I cannot solve.
So, I added some options in sampler:
m_flags = (UserInputControls)(AcEdJig::kAcceptOtherInputString | AcEdJig::kDisableDirectDistanceInput); setUserInputControls(m_flags);
These flags make acquirePoint to return kOther. So now I know, that user didn't click, didn't enter a keyword, so he must have entered a distance. But the question is - how can I read the distance? acedGetInput always gives me an empty string.
Solved! Go to Solution.