Table of Contents | ||||
---|---|---|---|---|
|
X-Function Related
Pop up menu within GetN dialog (ORG-8466)
Create a new X-Function, and in tree view of X-Function Builder, set GetN Dialog Custom Buttons with "Popup Menu".
Then, edit in Code Builder, include header file "control.h" (#include <control.h>), then in <xf-name>_event1 function, add the following code;
Code Block |
---|
if( nEventID == GETNE_ON_CUSTOM_BUTTON1 )
{
Menu m;
m.Create();
m.Add("Item 1",1,MF_DISABLED);
POINT pt;
GetCursorPos(&pt);
m.TrackPopupResMenu(0, pt.x, pt.y, GetWindow());
} |
The result will be
Support adding help file for customized X-Function (ORG-7549)
...
Ability to clear document when duplicate an existing X-Function (ORG-7616)
In X-Function Builder, menu Tools: Clear Document is used to remove document related contents after duplicating an existing X-Function.
3. Provide command to open X-Function in X-Function Builder (ORG-7786)
Code Block |
---|
edit -x integ1;
// Or using this
integ1 -e; |
4. Support Auto checkbox for Slider control (ORG-7847)
Code Block |
---|
#include <GetNBox.h>
void test_GetN()
{
GETN_TREE(tr)
GETN_SLIDER(slider, "test", 0, "1|100|100")
TreeNode trN = tr.slider;
octree_set_auto_support(&trN, 1);
GetNBox(tr);
} |
The result dialog is:
Code Builder
Change hot key in Code Builder, Ctrl+Shift+F for find in files, and Ctrl+Shift+C for copy full path (ORG-7919)
Origin C
Add more Page and Layer classes LabTalk evaluation functions (ORG-8470)
Code Block |
---|
BOOL LT_evaluate(LPCSTR lpcszLabTalkExpression, double * lpdbResult);
BOOL LT_get_var(LPCSTR lpcszLabTalkVarName, double * lpdbResult);
BOOL LT_set_var(LPCSTR lpcszLabTalkVarName, double dbValue);
BOOL LT_get_str(LPCSTR lpcszLabTalkString, char* pBuffer, int nBufferSize);
BOOL LT_set_str(LPCSTR lpcszVar, LPCSTR lpcszContent); |
OC vector::SetSubVector supports copy by counting elements (ORG-8024)
Code Block |
---|
int vectorbase::SetSubVector(vectorbase& vbSource, int c1 = 0, int nCount = -1);
int vector<string>::SetSubVector(vectorbase& vbSource, int c1 = 0, int nCount = -1); |
LabTalk
LabTalk callable OC function to force recalculate operation executed (ORG-7877)
Click on the recalculate lock and select Show Info from the context menu to get the "operation_uid", then run execute_operation function.
Code Block |
---|
execute_operation(operation_uid); |
Improve LabTalk "type -gb" command for text file output (ORG-8306)
Code Block |
---|
type -gb[ef[r|n]] |
e is for New file which will erase existing file.
f is for output to file only, instead of file and script window.
New line is \r\n by default, n = use \n as new line, r = use \r as new line.
11. Improve TreeNode display in Code Builder Variable window (ORG-8689)
Run
Code Block |
---|
void test_treenode()
{
Tree tr;
tr.a.nVal = 10;
tr.b.strVal = "Fol";
vector<int> vn = {1,2};
tr.c.nVals = vn;
vector<string> vs = {"a","b"};
tr.d.strVals = vs;
tr.e.a.strVals = vs;
TreeNode trA = tr.a;
TreeNode trB = tr.b;
TreeNode trC = tr.c;
TreeNode trD = tr.d;
TreeNode trE = tr.e;
} |
And get:
12. Improve speed of OC compiler (ORG-8697)
13. Error message of X-Function shows in window (Script Window) where it runs (ORG-8836)
14. Expose Column method GetAdditionalInfo to OC for getting additional text (ORG-9101)
Code Block |
---|
void test_GetAdditionalInfo()
{
Worksheet wks = Project.ActiveLayer();
Column col(wks, 0);
string strTextInfo;
col.GetAdditionalInfo(strTextInfo);
out_str(strTextInfo);
} |
15. Better error checking in LabTalk function (ORG-9155)
In an OGS file, add the following script, and then run the main section, the error message will go to Message Log.
...
Child pages (Children Display) |
---|