Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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;

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)

When creating an X-Function in X-Function Builder, in the tree view, it is allowed to specify the Document Name, then the help button in the X-Function dialog will open this specified help file if clicked.


 

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)

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

 

4. Support Auto checkbox for Slider control (ORG-7847)

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

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)

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.

execute_operation(operation_uid);

 

Improve LabTalk "type -gb" command for text file output (ORG-8306)

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

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)

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.

[Main]
Function int aa(int nn)
{
	ty "inside function";
	sdf;//error
	return 1;
}

int nErr = aa(0);
ty "after function";
  • No labels