Commit for development environment setup
This commit is contained in:
588
PROMS/ReferencedObjectsOld/Exe/RefObj/ROEditor/FieldCombFrm.cs
Normal file
588
PROMS/ReferencedObjectsOld/Exe/RefObj/ROEditor/FieldCombFrm.cs
Normal file
@@ -0,0 +1,588 @@
|
||||
/*********************************************************************************************
|
||||
* Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
|
||||
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
* ------------------------------------------------------------------------------
|
||||
* $Workfile: FieldCombFrm.cs $ $Revision: 12 $
|
||||
* $Author: Kathy $ $Date: 5/21/03 12:45p $
|
||||
*
|
||||
* $History: FieldCombFrm.cs $
|
||||
*
|
||||
* ***************** Version 12 *****************
|
||||
* User: Kathy Date: 5/21/03 Time: 12:45p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* B2003-041: edit field name not always set
|
||||
*
|
||||
* ***************** Version 11 *****************
|
||||
* User: Kathy Date: 12/11/02 Time: 11:22a
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* fixed - was always putting up Variable field, even if not defined
|
||||
*
|
||||
* ***************** Version 10 *****************
|
||||
* User: Kathy Date: 12/10/02 Time: 2:25p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* fieldname special chars
|
||||
*
|
||||
* ***************** Version 9 *****************
|
||||
* User: Kathy Date: 12/02/02 Time: 8:29a
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* fieldname replace chars
|
||||
*
|
||||
* ***************** Version 8 *****************
|
||||
* User: Kathy Date: 12/02/02 Time: 6:13a
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* combo field fix
|
||||
*
|
||||
* ***************** Version 7 *****************
|
||||
* User: Kathy Date: 10/15/02 Time: 2:17p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* wasn't finding variable text
|
||||
*
|
||||
* ***************** Version 6 *****************
|
||||
* User: Kathy Date: 9/27/02 Time: 1:13p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* fix digit as first char in fieldname
|
||||
*
|
||||
* ***************** Version 5 *****************
|
||||
* User: Kathy Date: 9/25/02 Time: 2:30p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* multitxt->variabletxt
|
||||
*
|
||||
* ***************** Version 4 *****************
|
||||
* User: Kathy Date: 9/25/02 Time: 9:56a
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* dev
|
||||
*
|
||||
* ***************** Version 3 *****************
|
||||
* User: Kathy Date: 9/11/02 Time: 1:15p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* vlnxml
|
||||
*
|
||||
* ***************** Version 2 *****************
|
||||
* User: Kathy Date: 9/05/02 Time: 12:41p
|
||||
* Updated in $/EXE/RefObj/ROEditor
|
||||
* dev
|
||||
*
|
||||
* ***************** Version 1 *****************
|
||||
* User: Jsj Date: 8/23/02 Time: 3:33p
|
||||
* Created in $/EXE/RefObj/ROEditor
|
||||
*********************************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using System.Xml.Schema;
|
||||
using System.Text;
|
||||
using ROFields;
|
||||
using RODBInterface;
|
||||
|
||||
namespace ROEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for FieldCombFrm.
|
||||
/// </summary>
|
||||
public class FieldCombFrm : System.Windows.Forms.Form
|
||||
{
|
||||
private System.Windows.Forms.Label lblFieldName;
|
||||
private System.Windows.Forms.TextBox tbFieldName;
|
||||
private System.Windows.Forms.GroupBox gbAlternatives;
|
||||
private System.Windows.Forms.CheckBox cbSingleTxt;
|
||||
private System.Windows.Forms.CheckBox cbVariableTxt;
|
||||
private System.Windows.Forms.CheckBox cbTable;
|
||||
private System.Windows.Forms.CheckBox cbXYPlot;
|
||||
private System.Windows.Forms.Label lblW1;
|
||||
private System.Windows.Forms.Label lblW2;
|
||||
private System.Windows.Forms.Label lblW3;
|
||||
private System.Windows.Forms.Label lblW4;
|
||||
private System.Windows.Forms.TextBox tbSingleTxtWid;
|
||||
private System.Windows.Forms.TextBox tbVariableTxtWid;
|
||||
private System.Windows.Forms.TextBox tbTableWid;
|
||||
private System.Windows.Forms.TextBox tbXYPlotWid;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.Container components = null;
|
||||
private ROField myrof;
|
||||
private RODB myrodb;
|
||||
private VlnXmlElement myelem;
|
||||
private string origname;
|
||||
private int origFixedLength=0;
|
||||
private int origVariableTxtLength = 0;
|
||||
private int origTableLength = 0;
|
||||
private int origXYPlotLength = 0;
|
||||
private ArrayList avail_list;
|
||||
private ArrayList inuse_list;
|
||||
private uint editlevel;
|
||||
private bool exists = false;
|
||||
public FieldCombFrm(ROField rof, RODB rodb, VlnXmlElement elem, uint elevel, string oname, ArrayList alist, ArrayList ilist)
|
||||
{
|
||||
int idx;
|
||||
string strlen;
|
||||
string fielddef;
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
myrof = rof;
|
||||
myrodb = rodb;
|
||||
myelem = elem;
|
||||
editlevel = elevel;
|
||||
avail_list = alist;
|
||||
inuse_list = ilist;
|
||||
InitializeComponent();
|
||||
this.tbFieldName.Text = rof.GetFieldname;
|
||||
origname = oname;
|
||||
|
||||
if (rof.GetRecID != null) // it's new if it's null
|
||||
{
|
||||
exists = true;
|
||||
string recid = rof.GetMasterRecID;
|
||||
if (recid != null && recid != "")
|
||||
fielddef = myrodb.RODB_GetSchemaPiece(recid,"ROMaster");
|
||||
else
|
||||
fielddef = myrodb.RODB_GetSchemaPiece(rof.GetRecID,myelem.GetAttribute("Table"));
|
||||
// search for combination items included & their original length.
|
||||
idx = fielddef.IndexOf("Fixed");
|
||||
if (idx >= 0)
|
||||
{
|
||||
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
|
||||
strlen = fielddef.Substring(idx+21,2);
|
||||
origFixedLength = System.Convert.ToInt32(strlen);
|
||||
this.tbSingleTxtWid.Text = strlen;
|
||||
this.cbSingleTxt.Checked = true;
|
||||
}
|
||||
else
|
||||
this.cbSingleTxt.Checked = false;
|
||||
idx = fielddef.IndexOf("type=\"Variable");
|
||||
if (idx >= 0)
|
||||
{
|
||||
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
|
||||
strlen = fielddef.Substring(idx+21,2);
|
||||
origVariableTxtLength = System.Convert.ToInt32(strlen);
|
||||
this.tbVariableTxtWid.Text = strlen;
|
||||
this.cbVariableTxt.Checked = true;
|
||||
}
|
||||
else
|
||||
this.cbVariableTxt.Checked = false;
|
||||
idx = fielddef.IndexOf("Table");
|
||||
if (idx >= 0)
|
||||
{
|
||||
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
|
||||
strlen = fielddef.Substring(idx+21,2);
|
||||
origTableLength = System.Convert.ToInt32(strlen);
|
||||
this.tbTableWid.Text = strlen;
|
||||
this.cbTable.Checked = true;
|
||||
}
|
||||
else
|
||||
this.cbTable.Checked = false;
|
||||
idx = fielddef.IndexOf("XYPlot");
|
||||
if (idx >= 0)
|
||||
{
|
||||
idx=fielddef.IndexOf("xsd:maxLength value=\"",idx);
|
||||
strlen = fielddef.Substring(idx+21,2);
|
||||
origXYPlotLength = System.Convert.ToInt32(strlen);
|
||||
this.tbXYPlotWid.Text = strlen;
|
||||
this.cbXYPlot.Checked = true;
|
||||
}
|
||||
else
|
||||
this.cbXYPlot.Checked = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.lblFieldName = new System.Windows.Forms.Label();
|
||||
this.tbFieldName = new System.Windows.Forms.TextBox();
|
||||
this.gbAlternatives = new System.Windows.Forms.GroupBox();
|
||||
this.tbXYPlotWid = new System.Windows.Forms.TextBox();
|
||||
this.tbTableWid = new System.Windows.Forms.TextBox();
|
||||
this.tbVariableTxtWid = new System.Windows.Forms.TextBox();
|
||||
this.tbSingleTxtWid = new System.Windows.Forms.TextBox();
|
||||
this.lblW4 = new System.Windows.Forms.Label();
|
||||
this.lblW3 = new System.Windows.Forms.Label();
|
||||
this.lblW2 = new System.Windows.Forms.Label();
|
||||
this.lblW1 = new System.Windows.Forms.Label();
|
||||
this.cbXYPlot = new System.Windows.Forms.CheckBox();
|
||||
this.cbTable = new System.Windows.Forms.CheckBox();
|
||||
this.cbVariableTxt = new System.Windows.Forms.CheckBox();
|
||||
this.cbSingleTxt = new System.Windows.Forms.CheckBox();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.gbAlternatives.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lblFieldName
|
||||
//
|
||||
this.lblFieldName.Location = new System.Drawing.Point(16, 8);
|
||||
this.lblFieldName.Name = "lblFieldName";
|
||||
this.lblFieldName.Size = new System.Drawing.Size(72, 16);
|
||||
this.lblFieldName.TabIndex = 0;
|
||||
this.lblFieldName.Text = "Field Name:";
|
||||
//
|
||||
// tbFieldName
|
||||
//
|
||||
this.tbFieldName.Location = new System.Drawing.Point(96, 8);
|
||||
this.tbFieldName.Name = "tbFieldName";
|
||||
this.tbFieldName.Size = new System.Drawing.Size(384, 22);
|
||||
this.tbFieldName.TabIndex = 1;
|
||||
this.tbFieldName.Text = "";
|
||||
//
|
||||
// gbAlternatives
|
||||
//
|
||||
this.gbAlternatives.Controls.AddRange(new System.Windows.Forms.Control[] {
|
||||
this.tbXYPlotWid,
|
||||
this.tbTableWid,
|
||||
this.tbVariableTxtWid,
|
||||
this.tbSingleTxtWid,
|
||||
this.lblW4,
|
||||
this.lblW3,
|
||||
this.lblW2,
|
||||
this.lblW1,
|
||||
this.cbXYPlot,
|
||||
this.cbTable,
|
||||
this.cbVariableTxt,
|
||||
this.cbSingleTxt});
|
||||
this.gbAlternatives.Location = new System.Drawing.Point(16, 48);
|
||||
this.gbAlternatives.Name = "gbAlternatives";
|
||||
this.gbAlternatives.Size = new System.Drawing.Size(464, 152);
|
||||
this.gbAlternatives.TabIndex = 2;
|
||||
this.gbAlternatives.TabStop = false;
|
||||
this.gbAlternatives.Text = "Alternatives";
|
||||
//
|
||||
// tbXYPlotWid
|
||||
//
|
||||
this.tbXYPlotWid.Location = new System.Drawing.Point(320, 120);
|
||||
this.tbXYPlotWid.Name = "tbXYPlotWid";
|
||||
this.tbXYPlotWid.Size = new System.Drawing.Size(40, 22);
|
||||
this.tbXYPlotWid.TabIndex = 11;
|
||||
this.tbXYPlotWid.Text = "";
|
||||
//
|
||||
// tbTableWid
|
||||
//
|
||||
this.tbTableWid.Location = new System.Drawing.Point(320, 88);
|
||||
this.tbTableWid.Name = "tbTableWid";
|
||||
this.tbTableWid.Size = new System.Drawing.Size(40, 22);
|
||||
this.tbTableWid.TabIndex = 10;
|
||||
this.tbTableWid.Text = "";
|
||||
//
|
||||
// tbVariableTxtWid
|
||||
//
|
||||
this.tbVariableTxtWid.Location = new System.Drawing.Point(320, 56);
|
||||
this.tbVariableTxtWid.Name = "tbVariableTxtWid";
|
||||
this.tbVariableTxtWid.Size = new System.Drawing.Size(40, 22);
|
||||
this.tbVariableTxtWid.TabIndex = 9;
|
||||
this.tbVariableTxtWid.Text = "";
|
||||
//
|
||||
// tbSingleTxtWid
|
||||
//
|
||||
this.tbSingleTxtWid.Location = new System.Drawing.Point(320, 24);
|
||||
this.tbSingleTxtWid.Name = "tbSingleTxtWid";
|
||||
this.tbSingleTxtWid.Size = new System.Drawing.Size(40, 22);
|
||||
this.tbSingleTxtWid.TabIndex = 8;
|
||||
this.tbSingleTxtWid.Text = "";
|
||||
//
|
||||
// lblW4
|
||||
//
|
||||
this.lblW4.Location = new System.Drawing.Point(264, 120);
|
||||
this.lblW4.Name = "lblW4";
|
||||
this.lblW4.Size = new System.Drawing.Size(56, 16);
|
||||
this.lblW4.TabIndex = 7;
|
||||
this.lblW4.Text = "Width:";
|
||||
//
|
||||
// lblW3
|
||||
//
|
||||
this.lblW3.Location = new System.Drawing.Point(264, 96);
|
||||
this.lblW3.Name = "lblW3";
|
||||
this.lblW3.Size = new System.Drawing.Size(56, 16);
|
||||
this.lblW3.TabIndex = 6;
|
||||
this.lblW3.Text = "Width:";
|
||||
//
|
||||
// lblW2
|
||||
//
|
||||
this.lblW2.Location = new System.Drawing.Point(264, 64);
|
||||
this.lblW2.Name = "lblW2";
|
||||
this.lblW2.Size = new System.Drawing.Size(56, 16);
|
||||
this.lblW2.TabIndex = 5;
|
||||
this.lblW2.Text = "Width:";
|
||||
//
|
||||
// lblW1
|
||||
//
|
||||
this.lblW1.Location = new System.Drawing.Point(264, 32);
|
||||
this.lblW1.Name = "lblW1";
|
||||
this.lblW1.Size = new System.Drawing.Size(56, 16);
|
||||
this.lblW1.TabIndex = 4;
|
||||
this.lblW1.Text = "Width:";
|
||||
//
|
||||
// cbXYPlot
|
||||
//
|
||||
this.cbXYPlot.Location = new System.Drawing.Point(16, 120);
|
||||
this.cbXYPlot.Name = "cbXYPlot";
|
||||
this.cbXYPlot.Size = new System.Drawing.Size(144, 24);
|
||||
this.cbXYPlot.TabIndex = 3;
|
||||
this.cbXYPlot.Text = "X/Y Plot";
|
||||
//
|
||||
// cbTable
|
||||
//
|
||||
this.cbTable.Location = new System.Drawing.Point(16, 88);
|
||||
this.cbTable.Name = "cbTable";
|
||||
this.cbTable.Size = new System.Drawing.Size(144, 24);
|
||||
this.cbTable.TabIndex = 2;
|
||||
this.cbTable.Text = "Table";
|
||||
//
|
||||
// cbVariableTxt
|
||||
//
|
||||
this.cbVariableTxt.Location = new System.Drawing.Point(16, 56);
|
||||
this.cbVariableTxt.Name = "cbVariableTxt";
|
||||
this.cbVariableTxt.Size = new System.Drawing.Size(144, 24);
|
||||
this.cbVariableTxt.TabIndex = 1;
|
||||
this.cbVariableTxt.Text = "Variable Line Text";
|
||||
//
|
||||
// cbSingleTxt
|
||||
//
|
||||
this.cbSingleTxt.Location = new System.Drawing.Point(16, 24);
|
||||
this.cbSingleTxt.Name = "cbSingleTxt";
|
||||
this.cbSingleTxt.Size = new System.Drawing.Size(144, 24);
|
||||
this.cbSingleTxt.TabIndex = 0;
|
||||
this.cbSingleTxt.Text = "Single Line Text";
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.Location = new System.Drawing.Point(264, 216);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(88, 24);
|
||||
this.btnOK.TabIndex = 3;
|
||||
this.btnOK.Text = "OK";
|
||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Location = new System.Drawing.Point(392, 216);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(88, 24);
|
||||
this.btnCancel.TabIndex = 4;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
//
|
||||
// FieldCombFrm
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
|
||||
this.ClientSize = new System.Drawing.Size(504, 253);
|
||||
this.Controls.AddRange(new System.Windows.Forms.Control[] {
|
||||
this.btnCancel,
|
||||
this.btnOK,
|
||||
this.gbAlternatives,
|
||||
this.tbFieldName,
|
||||
this.lblFieldName});
|
||||
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.Name = "FieldCombFrm";
|
||||
this.Text = "Combination Field Definition";
|
||||
this.gbAlternatives.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
private string CvtUserFldToFld(string fldname)
|
||||
{
|
||||
if (fldname.Length < 2)
|
||||
return fldname;
|
||||
// a digit cannot start an xml fieldname, prepend a "__" to it.
|
||||
string tmp0;
|
||||
if (char.IsDigit(fldname,0))
|
||||
tmp0 = "__" + fldname;
|
||||
else
|
||||
tmp0 = fldname;
|
||||
// an xml fieldname cannot have a space, change it to a "__"
|
||||
string tmpstr = tmp0.Replace(" ","__");
|
||||
int len = tmpstr.Length;
|
||||
int cnt = 0;
|
||||
|
||||
// this is also our sequence that tells us the follow 3 digits is the ascii number (base 10)
|
||||
// of the character we replaced.
|
||||
string OKpunch = "-._";
|
||||
|
||||
string outstr = "";
|
||||
int decval;
|
||||
|
||||
while (cnt < len)
|
||||
{
|
||||
char tmpchr = tmpstr[cnt];
|
||||
if(!char.IsLetterOrDigit(tmpchr)&& (OKpunch.IndexOf(tmpchr) == -1) )
|
||||
{
|
||||
decval = tmpchr;
|
||||
outstr += OKpunch + decval.ToString("D3");
|
||||
}
|
||||
else
|
||||
{
|
||||
outstr += tmpchr.ToString();
|
||||
}
|
||||
cnt++;
|
||||
}
|
||||
return outstr;
|
||||
}
|
||||
|
||||
private bool CheckValidWidth(string wid)
|
||||
{
|
||||
long val;
|
||||
try
|
||||
{
|
||||
// Attempt to convert to long, if it fails, there are problems in the text
|
||||
val = System.Convert.ToInt64(wid);
|
||||
}
|
||||
catch
|
||||
{
|
||||
MessageBox.Show("The field width is not a valid number. Please re-enter");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void btnOK_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
string savschemapiece;
|
||||
bool success=false;
|
||||
|
||||
// check for field validity
|
||||
if (this.tbFieldName.Text == null)
|
||||
{
|
||||
MessageBox.Show("Cannot have empty field definition name.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.cbSingleTxt.Checked == true && this.tbSingleTxtWid.Text == null)
|
||||
{
|
||||
MessageBox.Show("Cannot have empty width for Single Line Text");
|
||||
return;
|
||||
}
|
||||
if (this.cbSingleTxt.Checked == true)
|
||||
{
|
||||
success=CheckValidWidth(this.tbSingleTxtWid.Text);
|
||||
if (success == false) return;
|
||||
}
|
||||
|
||||
if (this.cbVariableTxt.Checked == true && this.tbVariableTxtWid.Text == null)
|
||||
{
|
||||
MessageBox.Show("Cannot have empty width for Variable Length Text");
|
||||
return;
|
||||
}
|
||||
if (this.cbVariableTxt.Checked == true)
|
||||
{
|
||||
success=CheckValidWidth(this.tbSingleTxtWid.Text);
|
||||
if (success == false) return;
|
||||
}
|
||||
|
||||
if (this.cbTable.Checked == true && this.tbTableWid.Text == null)
|
||||
{
|
||||
MessageBox.Show("Cannot have empty width for Table Text");
|
||||
return;
|
||||
}
|
||||
if (this.cbTable.Checked == true)
|
||||
{
|
||||
success=CheckValidWidth(this.tbTableWid.Text);
|
||||
if (success == false) return;
|
||||
}
|
||||
|
||||
if (this.cbXYPlot.Checked == true && this.tbXYPlotWid.Text == null)
|
||||
{
|
||||
MessageBox.Show("Cannot have empty width for XYPlot Text");
|
||||
return;
|
||||
}
|
||||
if (this.cbXYPlot.Checked == true)
|
||||
{
|
||||
success=CheckValidWidth(this.tbXYPlotWid.Text);
|
||||
if (success == false) return;
|
||||
}
|
||||
|
||||
// check that it is not duplicate name.
|
||||
ROField rof;
|
||||
for (int i=0; i< avail_list.Count; i++)
|
||||
{
|
||||
rof = (ROField) avail_list[i];
|
||||
if (rof.GetFieldname == this.tbFieldName.Text && rof.GetRecID != myrof.GetRecID)
|
||||
{
|
||||
MessageBox.Show("The field name is not unique. Please re-enter");
|
||||
return;
|
||||
}
|
||||
}
|
||||
for (int i=0; i< inuse_list.Count; i++)
|
||||
{
|
||||
rof = (ROField) inuse_list[i];
|
||||
if (rof.GetFieldname == this.tbFieldName.Text && rof.GetRecID != myrof.GetRecID)
|
||||
{
|
||||
MessageBox.Show("The field name is not unique. Please re-enter");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// generate the new schema string based on text box input.
|
||||
string fname=CvtUserFldToFld(this.tbFieldName.Text);
|
||||
savschemapiece = myrof.MakeComboSchemaString(fname, this.cbSingleTxt.Checked,
|
||||
this.tbSingleTxtWid.Text, this.cbVariableTxt.Checked, this.tbVariableTxtWid.Text,
|
||||
this.cbTable.Checked, this.tbTableWid.Text, this.cbXYPlot.Checked, this.tbXYPlotWid.Text);
|
||||
myrof.SetFieldname(fname);
|
||||
// if this is 'new'. create a new element and do an insert to database
|
||||
if (exists == false)
|
||||
success = myrodb.RODB_NewFieldRecord(myrof, myelem, savschemapiece, editlevel, "a");
|
||||
else // modification of existing...
|
||||
success = myrodb.RODB_UpdateFieldRecord(myrof, myelem, savschemapiece, CvtUserFldToFld(origname), fname, editlevel, true);
|
||||
|
||||
// update the local/internal copy of the schema.
|
||||
if (success != true)
|
||||
{
|
||||
return; // DO YET process an error.
|
||||
}
|
||||
else
|
||||
{
|
||||
// if this is a RRO schema, reload. We're not reloading the group schema
|
||||
// because it is rarely used and is only loaded as needed.
|
||||
if (editlevel == (uint) RecordType.Schema)
|
||||
{
|
||||
XmlSchema myschema;
|
||||
VlnXmlElement parent;
|
||||
parent = myelem;
|
||||
while (parent != null)
|
||||
{
|
||||
if (parent.HasAttribute("Schema") == true) break;
|
||||
if (parent.HasAttribute("FieldsInUse") == true) break;
|
||||
parent = (VlnXmlElement) parent.ParentNode;
|
||||
}
|
||||
// if a schema has been read in, delete it and reread it.
|
||||
if (parent.HasAttribute("Schema"))
|
||||
{
|
||||
// delete this attribute because we'll reread it in.
|
||||
parent.RemoveAttribute("Schema");
|
||||
myschema = myrodb.RODB_GetSchema(myelem);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user