Versions Compared

Key

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

Analysis

Batch Processing

...

ID

JIRA

SUMMARY

DESCRIPTION

DETAILS

0

ORG-18790

Add system variable so that import with "Replace Existing Data" will really replace existing data

Add system variable so that import with "Replace Existing Data" will really replace existing data

Added a system variable @IRE for import Excel file with "Replace Existing Data" Import Mode.

@IRE = 1(default): Replace the existing sheets in the active Workbook from the active sheet on.

@IRE = 0: Only replace the active sheet, and create new sheets to import following Excel sheets.

0

ORG-15666

Check new LibXL update

Updated the new LibXL version 3.7.1 to Origin, so that Origin 2019 will support importing more higher version Excel files.

Updated the new LibXL version 3.7.1 to Origin, so that Origin 2019 will support importing more higher version Excel files.

0

ORG-18352

Import Wizard Support relative OC File Path for user defined type

Import Wizard Support relative OC File Path "<App Folder>" for user defined type.

Import Wizard Support relative OC File Path "<App Folder>" for user defined type.

0

ORG-2266

Support Date Time Data with higher precision

Support Date Time Data with higher precision

Add three system variables:

1. @DSP: a project property, the date system in current project

  • 0: the current date system, +12 hours off from julian day system

  • 1: julian day

  • 2018: 2018 date system, 0 at 00:00 on Jan 1 2018

2. @DSO: the actual offset for the current date system, in day

And also, when the date system is 2018, Import Wizard support more higher precise date data, for example: When import time data like "2/5/2040 15:59:59.994983" using Import Wizard, can set Custom Date Format as "MM'/'dd'/'yyyy HH':'mm':'ss'.'######" to import.

...

ID

JIRA

SUMMARY

DESCRIPTION

DETAILS

0

ORG-19012

Add "1 000.0" as numeric separators in Tools: Options dialog.

In Tools: Options dialog, a newly entry "1 000.0" is added for Numeric Separators.

In Tools: Options dialog, a newly entry "1 000.0" is added for Numeric Separators.

0

ORG-18773

Auto fill column label row contents to the right

Auto fill column label row contents to the right

Double clicking the bottom-right corner of the cell with formula in Column label rows. The formula will be autofilled to all cells to the right.

0

ORG-18099

Column List View

Choose View: Column List View menu to view a list of columns with associated metadata and sparklines. Data cells are not displayed. You can select column(s) in this list view and perform the usual graphing and analysis operations.

Choose View: Column List View menu to view a list of columns with associated metadata and sparklines. Data cells are not displayed. You can select column(s) in this list view and perform the usual graphing and analysis operations.


0

ORG-18382

Copy and Paste Filter condition support

User can select the Copy Filter from filter's context menu or select a filter condition in Filter cell and Ctrl+C to copy a filter, and then paste it to other column(s).

User can select the Copy Filter from filter's context menu or select a filter condition in Filter cell and Ctrl+C to copy a filter, and then paste it to other column(s).

0

ORG-18166

Copy non-continuous rows

Support to copy non-continuous rows

Before Origin 2019, when selecting non-continuous rows and copying and pasting, the unselected rows in between were copied/pasted as well.

0

ORG-18990

Create Subset Sheet context menu to extract selected rows to a new sheet.

Create Subset Sheet context menu to extract selected rows to a new sheet.

After manually select multiple rows or select multiple rows based on data highlighting feature, right click the selected rows and choose Create Subset Sheet context menu

Corresponding X-Function: wcopy.

0

ORG-18759

Custom numeric format more works

Custom numeric format more works

  1. Improvement for Latitude Longitude display format.
    General syntax is now like this:

    Code Block
    D[Space][M[S]][F/D][n] [EW/NS[B]]


    New:
    F/D: F to indicate not to include symbols and space is always inserted. D to indicate only exclude last symbol.
    EW/NS: EW for longitude, NS for latitude
    B: before the numbers. if not specified, will be after.

    Example: For decimal degree of latitude -3.03423

    DMD3 NS -> 3° 02.053 S
    DMS1 NSB -> S 3°02'03.2"

  2. Support direct editing in custom numeric format using Hex.

0

ORG-19184

Improve Mask cells by condition to support noncontinuous columns and row ranges

Improve Mask cells by condition to support noncontinuous columns and row ranges

Highlight noncontinuous columns or row ranges, select menu Column: Mask Cells by Condition to open colmask dialog, masks cells by your condition.

0

ORG-18938

Masked status kept when copying and pasting data.

Masked status kept when copying and pasting data.

After pasting data into new sheet, masked data will be still masked. In the past, masked status was not kept.

A new system variable @CPM has been added to control the behavior, default value is 1.
Note:

1. Paste Transpose, Paste Link, Paste Link Transpose will not paste mask status.

2. Copy (full precision) will not copy the mask status.

0

ORG-14386

New XFunctions to join columns by plot designation

A new X-Function coljoinbydesig is added to concatenates columns by plot designation. Right now, it's only available by script access.

A new X-Function coljoinbydesig is added to concatenates columns by plot designation. Right now, it's only available by script access.

0

ORG-18380

Numeric allow percent (%) and engineering notation

Numeric allow percent (%) and engineering notation

  • Type 12% will convert it into 0.12 automatically. You can disable it by system variable: @cap=0

  • Convert Percent (%) to Number when Copying or Importing ASCII or Excel Data with %

  • Type "1k" in a cell, then convert column to Numeric format will change it to 1000 automatically.

0

ORG-18525

Press and scroll mouse wheel to view data

Press and scroll mouse wheel to view data


0

ORG-18351

Support Hex numbers

Support Hex numbers

  • Custom numeric display such that hex numbers can be used in worksheet cells/columns natively, without using Hex2Dec kind of conversion like in Excel. In Column Properties, set Display as Custom and then set Custom Display as %X or %0<#hexdigits>I64X e.g., %012I64X means 12 hexdigits. X can be in lower case.

HexDisplay.opju  demonstrates the power of using Custom Display Format of Numeric, as well as the various improvements


0

ORG-14837

Treat missing as blank Improvements

Treat missing as blank Improvements

  • Missing values will show as blank in worksheet.

  • When importing excel file with empty cells, or copy and paste data with empty cells from Excel, 

  • Before Origin 2019, when copying some data with blank rows above it and pasting it to new column, blank rows were removed. In Origin 2019, they are kept.

  • If there are empty cells above the data, below data or within data range, click on it, status bar shows <i1:, >i2:, or nothing correspondingly. These empty cells will not be included in calcuation, statistics. 

  • When selecting a cell outside the data bound, status bar will show "<i1: "(begin) or ">i2: "(end).

  • Worksheet cell background color show differently if outside i1 i2 by default. There is a checkbox Indicate unused cells with a shaded background in Workbook Properties dialog. System variable @COR determines the darkening intensity.

  • i1 starts from 1st row unless set otherwise.

  • Delete data on last row will shrink data size (i2 updates)

  • Ctrl+delete to add missing value to a cell, in cases that user wants to make sure each column has same length. 


0

ORG-18478

User Parameter Row Formula

User Parameter Row Formula

...

ID

JIRA

SUMMARY

Description

DETAILS

0

ORG-18721

Display 24:00 as 00:00 in time data

Display 24:00 as 00:00 in time data

Added a system variable @DSRS to specify if display 24:00 as 00:00 on Axes tick label. By default @DSRS = 1, means display 24:00 as 00:00, can also turn it off by setting @DSRS = 0.

0

ORG-17094

Legend Symbol context menu is added

Legend Symbol context menu is added

Right click legend in graph and choose Legend → A quick way to go to Symbol tab of Legend Properties dialog to customize symbol part.

0

ORG-18489

Legend Symbol Width scale factor on Symbol tab of Text Object - Legend dialog

Legend Symbol Width scale factor on Symbol tab of Text Object - Legend dialog

Easy way to set line or line+symbol kind of legend longer or shorter.  There was Legend Symbol Width control in Plot Details dialog for this in the past but hard to find. 

0

ORG-17988

legend.align=1 by default for Legend

Align legend to left properly even after modifying the text by default

It's set to 1 by default so legend will be aligned to left properly even after modifying the text.

0

ORG-10287

New Legend for Fill Area Plot

New Legend for Fill Area Plot

Both above and below colors are supported in legend.

In the past, only above color was supported.

0

ORG-9443

Row Title for Tick Label Table

Row Title for Tick Label Table

0

ORG-17949

Size index column should automatically indicate in bubble scale

Size index column should automatically indicate in bubble scale

A new system variable is added: @BNLP .It controls the auto-nested layout percent of bubble size. The default value is 20, which means when the bubble scale is larger than 20% of the whole layer in size, its layout will be switched to Nested from Linear if you renew/add a bubble scale for a size-indexed scatter/line+symbol plot.

0

ORG-18328

Support %(CRLF) in Legend to wrap text

Support %(CRLF) in Legend to wrap text

This works on Legends/Titles tab of Plot Details dialog and Update Legend dialog.

First set Translation mode to be Custom. Then specify the syntax with %(CRLF) in between.

0

ORG-18649

Support Categorical legend for 3D xyz bar plot

Support Categorical legend for 3D xyz bar plot

Before Origin 2019, categorical legend isn't supported in 3D xyz bar.

0

ORG-19063

Support number of table rows =10

Support number of table rows up to 10

Now the maximum of table row rises from 5 to 10. And Grouped Box/Column plots also support number of table rows to 10.

...

ID

JIRA

SUMMARY

DESCRIPTION

DETAILS

0

ORG-17794

The New Workbook dialog allows you to:

Now functionalities of New Workbook dialog


0

ORG-18858

“About Origin” dialog improvements

“About Origin” dialog improvements

  1. Added the "Check Available Licenses" button to get license information for Individual License.

  2. Added the "Citation Text" button to dump a string for citation to messages log.

0

ORG-13937

A Start Menu button has been added to the bottom left corner of the Origin interface.

Start Menu button added

0

ORG-18449

Add Sparklines button on Columns toolbar

Add Sparklines button on Columns toolbar

Click it will add sparklines on selected columns.

0

ORG-18471

Adds some new graph types to 2D and 3D Graphs toolbars.

Adds some new graph types to 2D and 3D Graphs toolbars


0

ORG-19093

Ctrl+G hotkey to open Export Graph with previous settings

Ctrl+G hotkey to open Export Graph with previous settings

Hotkey CTRL+G opens Graph Export dialog with <last used> theme. It used to open with system default theme. 

0

ORG-17785

Define Preview of Book and Graph Templates

Define Preview of Book and Graph Templates

When saving book or graph templates, user can specify his/her own preview image. 

This also works when saving Workbook Window as OGWU or saving Workbook as Analysis Template OGWU 

0

ORG-18678

Easy way to pick a color and get its HEX value.

Easy way to pick a color and get its HEX value.

X-Function Colors is added.

Run "colors" in Script window. Colors dialog will open for user to pick a color.

Click OK. Hex value will be dumped.

0

ORG-18569

GUI changes in miscellaneous tab of tools options dialog

GUI changes in miscellaneous tab of tools options dialog

  1. Add Proxy Setting control.

  2. Move Bisection Search Points to Graph tab.

  3. Move Footnote Size Ratio to Text Fonts tab, and rename it to Footnote Size Ratio in Analysis Reports

0

ORG-18491

Help: Origin Central is renamed as Help: Learning Center.

Help: Origin Central has been renamed as Help: Learning Center.

Under Help: menu, Origin Central... is renamed as Learning Cener...

There are only 3 tabs

  • Graph Samples

  • Analysis Samples

  • Learning Center

0

ORG-18968

Improvements on By Points tab of Color control in toolbar and dialogs with applicable color controls.

Improvements on By Points tab of Color control in toolbar and dialogs

0

ORG-14132

Menu toolbar locking

Menu toolbar locking

0

ORG-17410

Project Explorer Improvements

Project Explorer Improvements

0

ORG-18507

Reorganize Help menu

Reduce Help menu entries and Use Help: Open Folder to open useful folders

Reorganize Help Menu

Help: Open Folder to open useful folders

0

ORG-18565

SCN icon improvements

SCN icon improvements

0

ORG-18980

Select multiple layers by clicking+Shift on the layer icon on the graph

Select multiple layers by clicking+Shift on the layer icon on the graph

Press Shift+click on layer icon to select multiple layers on the graph.

0

ORG-18729

Shortcut window improvements

Shortcut window improvements

  1. Shortcut window keep own state (position, size) if adjust the source window

0

ORG-17794

The New Workbook dialog allows you to:

New Workbook dialog


...

ID

JIRA

SUMMARY

DESCRIPTION

DETAILS

0

ORG-13031

HTML Mode for Notes Window

HTML Mode for Notes Window

Support HTML mode for Note window:

1 . Labtalk is added to provide access to the active note page:

  • note.text$: get/set the text of active note

  • note.readonly = 0/1: switch readonly mode, default=0

  • note.syntax = 0/1: default=0, plain text, 1 means HTML syntax colored.

  • note.view = 0/1: default = 0, text editor, 1 means render with HTML browser

2 . Embed Various Origin objects into Note page's HTMLIntroduce a new mechanism for user to insert Origin Graph, Cell, Table(from report sheet) and Matrix image inside note window's HTML mode. the syntax will be like this: 

<ANY_HTML_TAG data-OLink="OriginLink">

 For example, to insert a graph preview to a note window, you should use graph type. e.g.

<div data-OLink="graph://graph1"></div>

See following table for the type of responding Origin objects:

3 . HTML Export As Web Page: Added a new menu on Note window's title bar, label as Save as Webpage..., this menu will only be enabled when the Note is currently in HTML mode.


...

ID

JIRA

SUMMARY

DESCRIPTION

DETAILS

0

ORG-16176

Add GraphLayer::InsertPlot(int nIndex) method

Add GraphLayer::InsertPlot(int nIndex) method

Added an OC function to reorder the plots in Graphlayer.

int GraphLayer::ReorderPlots(const vector<uint>& vnIndices, int c1 = 0, BOOL bUndo = FALSE);

  • vnIndices: Specify the new order of the plots.

  • c1: The indice of the starting plot.

  • bUndo: Specify if support undo.

0

ORG-17751

Big Integer and the Bit Operations Support

Big Integer and the Bit Operations Support

LabTalk now supports big integers which are higher than 32bit values (up to 52 bits), and their bitwise operations:
Conversion to an integer: int(), nint(), ceil(), floor()
Bitwise operators: (&(AND) and |(OR))
Bitwise functions: BitAnd(), BitOr(), BitXor(), BitLShift(), BitRShift()
  for example:
    i=hex(F1101010101);
    j=hex(F2010101011);
    Dec2hex(bitAnd(i,j),12)$=;     //==>0F0000000001
    Dec2hex(bitOr(i,j),12)$=;       //==>0F3111111111
    Dec2hex(bitXor(i,j),12)$=;      //==>003111111110
    Dec2hex(bitLShift(i,3),12)$=; //==>788808080808
    Dec2hex(bitRShift(i,3),12)$=; //==>01E220202020

0

ORG-18085

Code Builder should be able to inspect the values declared inside the loop

Code Builder can inspect the values declared inside the loop

Support to detect the variables inside the loop and list them in the variables list when debug in Code Builder.

For example: debug the following LT script in Code Builder.

Code Block
doc -e LB 
{
  double x = 1.5;
  Col(2) = Col(1) * x;
} 

It will show x variable in Variables window.

0

ORG-15885

COM interface to allow full search ability for Origin Project Files

COM interface to allow full search ability for Origin Project Files

In Find in Project dialog:

  1. The keyword to search is highlighted in the found item.

  2. Show Comments on the pop up preview dialog.

  3. Show Graph preview for the graph item.

COM Interface:

  1. Added new Origin.Application COM class OriginFinder, more information see http://wikis/ocwiki/index.php?title=Category%3AOriginFinder_(OriginCOM).

0

ORG-18271

GetN GETN_OPTION_NUM_FORMAT to support Custom Numeric Format

GetN GETN_OPTION_NUM_FORMAT to support Custom Numeric Format

Added GETN_OPTION_NUM_FORMAT function to custom Numeric format, for example:

Code Block
#include <GetNbox.h>
void test()
{
    GETN_TREE( treeTest )
    GETN_STR(test1, "Str Value", "junk")
    double xx = 0.5*PI;
    GETN_NUM(testVal, "PI Test", xx)
    GETN_OPTION_NUM_FORMAT( "* \"pi\"" )
   
    if( GetNBox( treeTest ))
        out_tree( treeTest );
}

0

ORG-19105

HTML Table support internal and from OC

HTML Table support internal and from Origin C

Support getting HTML table by OC way, for example:

Code Block
void	html_test()
{
	OHTML doc;
	BOOL bRet = doc.ReadFile("c:\\temp\\html\\test.html");
	if( bRet )
	{
		StringArray headers, data;
		int nTables = doc.GetTableCount();
		for(int table=0; table<nTables; table++)
		{
			string strCaption;
			bRet = doc.GetTableCaption(table, strCaption);
			int nRows = doc.GetRowCount(table);
			int nCols = doc.GetColCount(table);
			for(int col=0; col<nCols; col++)
			{
				bRet = doc.GetColHeader(table, col, headers);
				bRet = doc.GetColData(table, col, data);
			}
		}
	}
}

0

ORG-18788

http_get_str Fails to Return Response Body as String w/ Certain URL

http_get_str Fails to Return Response Body as String w/ Certain URL

Added following OC functions:

int okutil_http_download(LPCSTR lpcszURL, LPCSTR lpcszFileName, int nConnectTimeout = 0, int nResponseTimeout = 0, BOOL bIgnoreCertError = FALSE);

int okutil_http_get(LPCSTR lpcszURL, string *pstrResult, int nConnectTimeout = 0, int nResponseTimeout = 30);

int okutil_http_post(LPCSTR lpcszURL, LPCSTR lpcszRequestData, string *pstrResult, int nConnectTimeout = 0, int nResponseTimeout = 30);

DWORD okutil_http_error();

DWORD okutil_http_status();

More information see http://wikis/ocwiki/index.php?title=Category%3ANetwork_(global_function)

0

ORG-18440

Improve JSON::FromString() & JSON::ToString()

Improve JSON::FromString() & JSON::ToString()

For JSON::FromString(): support converting Javascript array to arbitrary Origin C vector types, for example:

string strvs = "[\"hello1\",\"hello2\",\"hello3\"]";

vector<string> vs;

JSON.FromString(vs, strvs);

For JSON::ToString(): support convert Origin C vector to Javascript array, lfor example:

vector<string> vs = {"Chris", "Zheng", "Aviel", "Hideo", "Yiming"};

string str;

JSON.ToString(vs, str);

0

ORG-18404

More work on @MRU

More work on @MRU

System variable MRU support enable user template (MRU=8) and recent file (MRU=16)

0

ORG-18559

Need export a function to convert the date value from/to system time

Need export a function to convert the date value from/to system time

Added two functions to convert the date value from/to system time for inner python: Date2datetime() and Datetime2Date()

For example:

Code Block
import PyOrigin
dateT = PyOrigin.Date2datetime(2458310.5811)
date = PyOrigin.datetime2Date(dateT)

0

ORG-18839

New OC funtion to get list of installed fonts

New Origin C function to get list of installed fonts

Added following  OC function to get the name list of installed fonts:

Code Block
int GetFontNames(vector<string>* pstrNames, BOOL bIncludeDefFont = TRUE);
Parameters:
  pstrNames[output]:font name list.
  bIncludeDefFont[input]:whether include origin default font.
Returns:
  Count of font names

0

ORG-18984

New Origin C method to scale the font size and line thickness when page size changes

New Origin C method to scale the font size and line thickness when page size changes

Improve LT command "page -AFU -newWidth/oldWidth;" to support scale the font size and line thickness when change page size by oc way.

For example:

Code Block
void SetPageSize()
{
	GraphPage gp = Project.ActiveLayer().GetPage();
	Tree tr;
	tr = gp.GetFormat(FPB_ALL, FOB_ALL, true, true);
	double dOldWidth = tr.Root.Dimension.Width.dVal;
	tr.Root.Dimension.Width.dVal = 5;
	tr.Root.Dimension.Height.dVal = 5;
	if(0 == gp.UpdateThemeIDs(tr.Root))
	{
		gp.ApplyFormat(tr, true, true);
	}
	
	string strScript;
	strScript = "page -AFU -" + 5 + "/" + dOldWidth;
	LT_execute(strScript);
	strScript = "menu -e 33027;";
	LT_execute(strScript);
}

0

ORG-18123

OC and LT access to Dataset Storage

OriginC and LabTalk access to Dataset Storage

Support LT and OC ways to the size of Dataset Storage, for example: Add a Dataset Storage and then run following code to get size:

LTlist -st;

OC: GetBinaryStorage(NULL, NULL, &nSize);

0

ORG-18556

OC font file path

OriginC font file path

Added a new OC function to get font file path:

Code Block
int okutil_get_font_file_names(StringArray *psaResults, LPCSTR lpcszFontName);

psaResults: Return all the font file name.

lpcszFontName: Specify the font name,

0

ORG-17066

OC functions wanted for Batch Plotting

OriginC functions wanted for Batch Plotting

Added two new OC functions for batch plotting:

Code Block
int GraphPage::GetDuplicateWithData(StringArray &saItems, const DuplicateWithDataInfo& info);
int GraphPage::AddDuplicateWithData(StringArray &saItems, const DuplicateWithDataInfo& info);

0

ORG-18846

OC issues related to getting data from the internet

OriginC issues related to getting data from the internet

1. New following OC function to read text file:

BOOL ocu_read_text_file(LPCSTR lpcszFilename, string* pstr);

Parameters:
    lpcszFilename = [input] full path file name
    pstr = [output] resulting file content as a string
Returns:
    FALSE if file not found

2. Improved OC function Column::SetFormat to support setting column custom format, for example:

void setcolumnformat_ex()
{
    Worksheet wks = Project.ActiveLayer();
    Column col1(wks, 0);
    col1.SetFormat(OKCOLTYPE_DATE, "yyyy'-'MM'-'dd");
    
    Column col2(wks, 1);
    col2.SetFormat(OKCOLTYPE_TEXT_NUMERIC, "DMS2");
    
    Column col3(wks, 2);
    col3.SetFormat(OKCOLTYPE_TIME, "hh mm ss'.'##");
}

0

ORG-18707

OriginC OC JSON add Tree support

OriginC OC JSON add Tree support

Improved OC function JSON::FromString to support converting JSON string to oc tree, and added a following OC function to get tree vector:

BOOL TreeToVector(TreeNode& tree, vectorbase& vv, LPCSTR lpcszTagName = NULL)

0

ORG-18312

Tree-like datatip in Code Builder to show variable structure for debugging

Tree-like datatip in Code Builder to show variable structure for debugging

When debugging OC code in Code Builder,and move the mouse over a variable name, a simple tooltip pops up to show the value of it.

...

ID

JIRA

SUMMARY

DESCRIPTION

DETAILS

0

ORG-18678

Color Picker XF needed

Color Picker XF needed

  • X-Function Colors is added to open colors dialog to get screen pixel HEX color

    Code Block
    int result;colors result;result=;
    colors p:=1;
    colors p:=1 i:=color(#1F4DB4);
    colors v1 i:=color(#1F4DB4); //result is in v1
  • LT command ed -c <color> to open Colors dialog with color selected as default, where color is the same single argument that you can pass to color function. For example

    Code Block
    ed -c #253dcf; 
    ed -c red;
  • OC function Colorsbox added as

    Code Block
    bool ColorsBox(COLORREF* pcr);
  • LabTalk function needed ocolor2rgb to convert color to RGB

    Code Block
    int ocolor2rgb(int ocolor);