Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel4
minLevel2

X-Function Related

Popup 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".

Image Removed

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

Image Removed

 

Support adding help file for customized X-Function (ORG-7549)

...

 

Ability to clear documentation when duplicating an 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.

Image Removed

 

Provide command to open X-Function in X-Function Builder (ORG-7786)

Code Block
edit -x integ1;
// Or using this
integ1 -e;

 

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:

Image Removed

 

Error message of X-Function shows in window (Script Window) where it runs (ORG-8836)

Code Builder

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:

Image Removed

 

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);

 

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);
}

Improve speed of OC compiler (ORG-8697)

 

 

LabTalk

LabTalk Callable OC function to Execute an Operation (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.

Image Removed

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.  

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)