Example #1
0
// "Repeat HETRP_DM Satellite 1518 1669 0"
//            0         1       2    3  4
void ParseRepeat(char *Str, RepData &Rep)
	{
	char *Fields[5];
	int FieldCount = GetFields(Str, Fields, 5, ' ');
	if (FieldCount != 5)
		Quit("GFF line %d, Repeat attribute does not have 5 fields");

	const char *RepeatName = Fields[0];
	const char *RepeatClass = Fields[1];
	const char *RepeatFrom = Fields[2];
	const char *RepeatTo = Fields[3];
	const char *RepeatLeft = Fields[4];

	Rep.RepeatName = strsave(RepeatName);
	Rep.RepeatClass = strsave(RepeatClass);
	if (0 == strcmp(RepeatFrom, "."))
		{
		Rep.RepeatFrom = -1;
		Rep.RepeatTo = -1;
		Rep.RepeatLeft = -1;
		}
	else
		{
		Rep.RepeatFrom = atoi(RepeatFrom) - 1;
		Rep.RepeatTo = atoi(RepeatTo) - 1;
		Rep.RepeatLeft = atoi(RepeatLeft);
		}
	}
void CDlgCentroid::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_RADIO3, m_button_default);
	DDX_Control(pDX, IDC_RADIO2, m_button_set);
	DDX_Control(pDX, IDC_COMBO1, m_combo_units);
	DDX_Control(pDX, IDC_EDIT1, m_edit_x);
	DDX_Control(pDX, IDC_EDIT2, m_edit_y);
	DDX_Control(pDX, IDC_COMBO_ANGLE, m_combo_angle);
	if( !pDX->m_bSaveAndValidate )
	{
		// incoming
		m_combo_units.InsertString( 0, "MIL" );
		m_combo_units.InsertString( 1, "MM" );
		m_combo_angle.InsertString( 0, "0" );
		m_combo_angle.InsertString( 1, "90" );
		m_combo_angle.InsertString( 2, "180" );
		m_combo_angle.InsertString( 3, "270" );
		SetFields();
	}
	else
	{
		// outgoing
		GetFields();
	}
}
Example #3
0
void CDlgRefText::OnCbnSelchangeComboRefTextUnits()
{
	GetFields();
	if( m_combo_units.GetCurSel() == 0 )
		m_units = MIL;
	else
		m_units = MM;
	SetFields();
}
void DlgEditBoardCorner::OnCbnSelchangeComboCornerUnits()
{
	GetFields();
	if( m_combo_units.GetCurSel() == 0 )
		m_units = MIL;
	else
		m_units = MM;
	SetFields();
}
void CDlgCentroid::OnCbnSelChangeCombo1()
{
	GetFields();
	int m_sel_units = m_combo_units.GetCurSel();
	if( m_sel_units == 0 )
		m_units = MIL;
	else
		m_units = MM;
	SetFields();
}
	/// @brief Assigns to a member
	/// @note upvalue 1: Member descriptor, non-permissions, and lookup data
	static void NewIndexMember (lua_State * L)
	{
		// Point to the requested member.
		Uint8 * pData = GetFields(L);	// data, key, value, D, D[key], offset, type

		// Assign the appropriate type.
		switch (U(L, 7))
		{
		case Member_Reg::ePointer:
			*(void**)pData = UD(L, 3);
			break;
		case Member_Reg::eU8:
		case Member_Reg::eUChar:
			*(Uint8*)pData = U8(L, 3);
			break;
		case Member_Reg::eS8:
		case Member_Reg::eSChar:
		//	*(Sint8*)pData = S8(L, 3);
			break;
		case Member_Reg::eU16:
		case Member_Reg::eUShort:
			*(Uint16*)pData = U16(L, 3);
			break;
		case Member_Reg::eS16:
		case Member_Reg::eSShort:
			*(Sint16*)pData = S16(L, 3);
			break;
		case Member_Reg::eU32:
			*(Uint32*)pData = U(L, 3);
			break;
		case Member_Reg::eS32:
			*(Sint32*)pData = S32(L, 3);
			break;
		case Member_Reg::eULong:
			break;
		case Member_Reg::eSLong:
			*(long*)pData = LI(L, 3);
			break;
		case Member_Reg::eUInt:
			break;
		case Member_Reg::eSInt:
			*(Sint32*)pData = S32(L, 3);
			break;
		case Member_Reg::eFSingle:
			*(float*)pData = F(L, 3);
			break;
		case Member_Reg::eFDouble:
			break;
		case Member_Reg::eString:
			break;
		case Member_Reg::eBoolean:
			*(bool*)pData = B(L, 3);
			break;
		}
	}
Example #7
0
void DlgDRC::OnCbnChangeUnits()
{
	CString str;
	m_combo_units.GetWindowText( str );
	GetFields();
	if( str == "MIL" )
		m_units = MIL;
	else
		m_units = MM;
	SetFields();
}
Example #8
0
// the actual checker
//
void DlgDRC::CheckDesign()
{
	CString str;

	GetFields();

	// warnings
	CString mess;
	if( m_dr_local.annular_ring_pins > m_CAM_annular_ring_pins )  
	{
		mess = "Warning: Your design rule for minimum annular ring width for pins\n";
		mess += "exceeds the default annular ring width in the CAM dialog.\n";
		mess += "This will probably create DRC errors.\n\n";
		mess += "Do you want to set the CAM parameter to match the design rule?";
		int ret = AfxMessageBox( mess, MB_YESNOCANCEL );
		if( ret == IDCANCEL )
			return;
		else if( ret == IDYES )
		{
			m_CAM_annular_ring_pins = m_dr_local.annular_ring_pins;
			m_pl->SetPinAnnularRing( m_CAM_annular_ring_pins );
		}
	}
	if( m_dr_local.annular_ring_vias > m_CAM_annular_ring_vias )
	{
		mess = "Warning: Your design rule for minimum annular ring width for vias\n";
		mess += "exceeds the default annular ring width in the CAM dialog.\n";
		mess += "This will probably create DRC errors.\n\n";
		mess += "Do you want to set the CAM parameter to match the design rule?";
		int ret = AfxMessageBox( mess, MB_YESNOCANCEL );
		if( ret == IDCANCEL )
			return;
		else if( ret == IDYES )
		{
			m_CAM_annular_ring_vias = m_dr_local.annular_ring_vias;
			m_nl->SetViaAnnularRing( m_CAM_annular_ring_vias );
		}
	}

	if( !m_dlg_log )
		ASSERT(0);
	m_dlg_log->ShowWindow( SW_SHOW );
	m_dlg_log->UpdateWindow();
	m_dlg_log->BringWindowToTop();
	m_dlg_log->Clear();
	m_dlg_log->UpdateWindow();
	m_drelist->Clear();
	m_pl->DRC( m_dlg_log, m_copper_layers, 
		m_units, m_check_show_unrouted.GetCheck(),
		m_board_outline,
		&m_dr_local, m_drelist ); 
}
Example #9
0
Log* ReadLog(char* Directory, char* FileName)
{
	HANDLE hFile = CreateFile(Directory, GENERIC_READ, 0, NULL,
		OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

	if (hFile == INVALID_HANDLE_VALUE)
		return NULL;

	//now read the thing, line by line
	DWORD Size = GetFileSize(hFile, NULL);
	char* Data = new char[Size+1];
	DWORD dw;
	ReadFile(hFile, Data, Size, &dw, NULL);
	CloseHandle(hFile);

	if (dw != Size)
		return NULL;
	Data[Size] = 0;

	LinkedList* Regs = NULL;
	LinkedList* Files = NULL;

	//now the thing is in memory, lets have a go at parsing
	int Pos = 0;
	while(true)
	{
		char* Line = GetLine(Data, &Pos);
		if (Line == NULL) break;

		char* Fields[10];
		GetFields(Line, Fields);

		//ok, now parse a line
		if (Fields[0][0] == 0 || strcmp(Fields[0], "NOTE") == 0)
			; //discard, a comment
		else if (strcmp(Fields[0], "FILE") == 0)
			Files = NewLinkedList(ReadLogFile(Fields, Directory, FileName), Files);
		else if (strcmp(Fields[0], "REG") == 0)
			Regs = NewLinkedList(ReadLogReg(Fields), Regs);
	}

	//now lets make a Log structure
	Log* log = new Log;
	log->Files = (File**) LinkedListToArray(Files, &log->nFile);
	log->Registrys = (Registry**) LinkedListToArray(Regs, &log->nRegistry);

	return log;
}
Example #10
0
void CDlgRefText::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT_REF_ID, m_edit_ref_des);
	DDX_Control(pDX, IDC_EDIT_CHAR_HEIGHT, m_edit_height);
	DDX_Control(pDX, IDC_COMBO_REF_TEXT_UNITS, m_combo_units);
	DDX_Control(pDX, IDC_RADIO_SET, m_radio_set);
	DDX_Control(pDX, IDC_RADIO_DEF, m_radio_def);
	DDX_Control(pDX, IDC_EDIT_WIDTH, m_edit_width);
	DDX_Control(pDX, IDC_EDIT_DEF_WIDTH, m_edit_def_width);
	DDX_Control(pDX, IDC_CHECK_VISIBLE, m_check_visible);
	if( !pDX->m_bSaveAndValidate )
	{
		// entry
		m_edit_ref_des.EnableWindow( FALSE );
		m_edit_ref_des.SetWindowText( m_part->ref_des );
		m_combo_units.InsertString( 0, "MIL" );
		m_combo_units.InsertString( 1, "MM" );
		if( m_units == MIL )
			m_combo_units.SetCurSel( 0 );
		else
			m_combo_units.SetCurSel( 1 );
		if( m_width == m_height/10 )
		{
			m_radio_set.SetCheck( FALSE );
			m_radio_def.SetCheck( TRUE );
			m_edit_def_width.EnableWindow( FALSE );
			m_edit_width.EnableWindow( FALSE );
		}
		else
		{
			m_radio_set.SetCheck( TRUE );
			m_radio_def.SetCheck( FALSE );
			m_edit_def_width.EnableWindow( FALSE );
			m_edit_width.EnableWindow( TRUE );
		}
		SetFields();
	}
	else
	{
		// exit
		GetFields();
		if( m_radio_def.GetCheck() )
			m_width = m_def_width;
	}
}
Example #11
0
void SummaryCommand :: ProcessFlags( const ALib::CommandLine & cmd ) {

	int nf = CountNonGeneric( cmd );
	if ( nf == 0 ) {
		CSVTHROW( "Need a summary flag" );
	}
	else if ( nf != 1 ) {
		CSVTHROW( "Only one summary flag allowed" );
	}

	if ( cmd.HasFlag( FLAG_AVG ) ) {
		mType = Average;
		GetFields( cmd, FLAG_AVG );
	}
	else if ( cmd.HasFlag( FLAG_MIN ) ) {
		mType = Min;
		GetFields( cmd, FLAG_MIN );
	}
	else if ( cmd.HasFlag( FLAG_MAX ) ) {
		mType = Max;
		GetFields( cmd, FLAG_MAX );
	}
	else if ( cmd.HasFlag( FLAG_FREQ ) ) {
		mType = Frequency;
		GetFields( cmd, FLAG_FREQ );
	}
	else if ( cmd.HasFlag( FLAG_MEDIAN ) ) {
		mType = Median;
		GetFields( cmd, FLAG_MEDIAN);
	}
	else if ( cmd.HasFlag( FLAG_MODE) ) {
		mType = Mode;
		GetFields( cmd, FLAG_MODE );
	}
	else if ( cmd.HasFlag( FLAG_SUM ) ) {
		mType = Sum;
		GetFields( cmd, FLAG_SUM );
	}
	else if ( cmd.HasFlag( FLAG_SIZE ) ) {
		mType = Size;
	}
	else {
		CSVTHROW( "Should never happen in SummaryCommand::ProcessFlags" );
	}
}
void DlgEditBoardCorner::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_COMBO_CORNER_UNITS, m_combo_units);
	DDX_Control(pDX, IDC_EDIT_X, m_edit_x);
	DDX_Control(pDX, IDC_EDIT_Y, m_edit_y);
	if( !pDX->m_bSaveAndValidate && m_title_str )
	{
		// incoming
		SetWindowText( *m_title_str );
		m_combo_units.InsertString( 0, "MIL" );
		m_combo_units.InsertString( 1, "MM" );
		if( m_units == MIL )
			m_combo_units.SetCurSel(0);
		else
			m_combo_units.SetCurSel(1);
		SetFields();
	}
	else
	{
		// outgoing
		GetFields();
	}
}
Example #13
0
// generated classes

BEGIN_NCBI_SCOPE

BEGIN_objects_SCOPE // namespace ncbi::objects::

// destructor
CComment_rule::~CComment_rule(void)
{
}


const CField_rule& CComment_rule::FindFieldRule (const string& field_name) const
{
    ITERATE (CField_set::Tdata, it, GetFields().Get()) {
        const CField_rule& field_rule = **it;
        if (NStr::Equal(field_rule.GetField_name(), field_name)) {
            return **it;
        }
    }
    return *CConstRef<CField_rule>();
}


END_objects_SCOPE // namespace ncbi::objects::

END_NCBI_SCOPE

/* Original file checksum: lines: 57, chars: 1729, CRC32: 46a495ac */
	/// @brief Indexes a member
	/// @note upvalue 1: Member descriptor, non-permissions, and lookup data
	static void IndexMember (lua_State * L)
	{
		// Point to the requested member.
		Uint8 * pData = GetFields(L);	// data, key, D, D[key], offset, type

		// Return the appropriate type.
		switch (U(L, 6))
		{
		case Member_Reg::ePointer:
			lua_pushlightuserdata(L, *(void**)pData);	// data, key, D, D[key], offset, type, pointer
			break;
		case Member_Reg::eU8:
			I_(Uint8, pData);	// data, key, D, D[key], offset, type, u8
			break;
		case Member_Reg::eS8:
			I_(Sint8, pData);	// data, key, D, D[key], offset, type, s8
			break;
		case Member_Reg::eU16:
			I_(Uint16, pData);	// data, key, D, D[key], offset, type, u16
			break;
		case Member_Reg::eS16:
			I_(Sint16, pData);	// data, key, D, D[key], offset, type, s16
			break;
		case Member_Reg::eU32:
			I_(Uint32, pData);	// data, key, D, D[key], offset, type, u32
			break;
		case Member_Reg::eS32:
			I_(Sint32, pData);	// data, key, D, D[key], offset, type, s32
			break;
		case Member_Reg::eUChar:
			I_(unsigned char, pData);	// data, key, D, D[key], offset, type, uchar
			break;
		case Member_Reg::eSChar:
			I_(signed char, pData);	// data, key, D, D[key], offset, type, schar
			break;
		case Member_Reg::eUShort:
			I_(unsigned short, pData);	// data, key, D, D[key], offset, type, ushort
			break;
		case Member_Reg::eSShort:
			I_(signed short, pData);	// data, key, D, D[key], offset, type, sshort
			break;
		case Member_Reg::eULong:
			I_(unsigned long, pData);	// data, key, D, D[key], offset, type, ulong
			break;
		case Member_Reg::eSLong:
			I_(signed long, pData);	// data, key, D, D[key], offset, type, slong
			break;
		case Member_Reg::eUInt:
			I_(unsigned int, pData);// data, key, D, D[key], offset, type, uint
			break;
		case Member_Reg::eSInt:
			I_(signed int, pData);	// data, key, D, D[key], offset, type, sint
			break;
		case Member_Reg::eFSingle:	
			F_(float, pData);	// data, key, D, D[key], offset, type, fsingle
			break;
		case Member_Reg::eFDouble:
			F_(double, pData);	// data, key, D, D[key], offset, type, fdouble
			break;
		case Member_Reg::eString:
			lua_pushstring(L, *(char**)pData);	// data, key, D, D[key], offset, type, string
			break;
		case Member_Reg::eBoolean:
			lua_pushboolean(L, *(bool*)pData);	// data, key, D, D[key], offset, type, boolean
			break;
		default:
			lua_pushnil(L);	// data, key, D, D[key], offset, type, nil
		}
	}
Example #15
0
void DlgDRC::OnBnClickedOk()
{
	GetFields();
	*m_dr = m_dr_local;
	OnOK();
}
void CDlgCentroid::OnBnClickedSet()
{
	m_button_default.SetCheck(0); 
	GetFields();
	SetFields();
}