// Data transfert from properties frame to item parameters bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( WORKSHEET_DATAITEM* aItem ) { if( aItem == NULL ) return false; double dtmp; wxString msg; // Import common parameters: aItem->m_Info = m_textCtrlComment->GetValue(); switch( m_choicePageOpt->GetSelection() ) { default: case 0: aItem->SetPage1Option( 0 ); break; case 1: aItem->SetPage1Option( 1 ); break; case 2: aItem->SetPage1Option( -1 ); break; } // Import thickness msg = m_textCtrlThickness->GetValue(); msg.ToDouble( &dtmp ); aItem->m_LineWidth = dtmp; // Import Start point msg = m_textCtrlPosX->GetValue(); msg.ToDouble( &dtmp ); aItem->m_Pos.m_Pos.x = dtmp; msg = m_textCtrlPosY->GetValue(); msg.ToDouble( &dtmp ); aItem->m_Pos.m_Pos.y = dtmp; switch( m_comboBoxCornerPos->GetSelection() ) { case 2: aItem->m_Pos.m_Anchor = RB_CORNER; break; case 0: aItem->m_Pos.m_Anchor = RT_CORNER; break; case 3: aItem->m_Pos.m_Anchor = LB_CORNER; break; case 1: aItem->m_Pos.m_Anchor = LT_CORNER; break; } // Import End point msg = m_textCtrlEndX->GetValue(); msg.ToDouble( &dtmp ); aItem->m_End.m_Pos.x = dtmp; msg = m_textCtrlEndY->GetValue(); msg.ToDouble( &dtmp ); aItem->m_End.m_Pos.y = dtmp; switch( m_comboBoxCornerEnd->GetSelection() ) { case 2: aItem->m_End.m_Anchor = RB_CORNER; break; case 0: aItem->m_End.m_Anchor = RT_CORNER; break; case 3: aItem->m_End.m_Anchor = LB_CORNER; break; case 1: aItem->m_End.m_Anchor = LT_CORNER; break; } // Import Repeat prms long itmp; msg = m_textCtrlRepeatCount->GetValue(); msg.ToLong( &itmp ); aItem->m_RepeatCount = itmp; msg = m_textCtrlStepX->GetValue(); msg.ToDouble( &dtmp ); aItem->m_IncrementVector.x = dtmp; msg = m_textCtrlStepY->GetValue(); msg.ToDouble( &dtmp ); aItem->m_IncrementVector.y = dtmp; if( aItem->GetType() == WORKSHEET_DATAITEM::WS_TEXT ) { WORKSHEET_DATAITEM_TEXT* item = (WORKSHEET_DATAITEM_TEXT*) aItem; item->m_TextBase = m_textCtrlText->GetValue(); msg = m_textCtrlTextIncrement->GetValue(); msg.ToLong( &itmp ); item->m_IncrementLabel = itmp; item->SetBold( m_checkBoxBold->IsChecked() ); item->SetItalic( m_checkBoxItalic->IsChecked() ); switch( m_choiceHjustify->GetSelection() ) { case 0: item->m_Hjustify = GR_TEXT_HJUSTIFY_LEFT; break; case 1: item->m_Hjustify = GR_TEXT_HJUSTIFY_CENTER; break; case 2: item->m_Hjustify = GR_TEXT_HJUSTIFY_RIGHT; break; } switch( m_choiceVjustify->GetSelection() ) { case 0: item->m_Vjustify = GR_TEXT_VJUSTIFY_TOP; break; case 1: item->m_Vjustify = GR_TEXT_VJUSTIFY_CENTER; break; case 2: item->m_Vjustify = GR_TEXT_VJUSTIFY_BOTTOM; break; } msg = m_textCtrlRotation->GetValue(); msg.ToDouble( &dtmp ); item->m_Orient = dtmp; // Import text size msg = m_textCtrlTextSizeX->GetValue(); msg.ToDouble( &dtmp ); item->m_TextSize.x = dtmp; msg = m_textCtrlTextSizeY->GetValue(); msg.ToDouble( &dtmp ); item->m_TextSize.y = dtmp; // Import constraints: msg = m_textCtrlConstraintX->GetValue(); msg.ToDouble( &dtmp ); item->m_BoundingBoxSize.x = dtmp; msg = m_textCtrlConstraintY->GetValue(); msg.ToDouble( &dtmp ); item->m_BoundingBoxSize.y = dtmp; } if( aItem->GetType() == WORKSHEET_DATAITEM::WS_POLYPOLYGON ) { WORKSHEET_DATAITEM_POLYPOLYGON* item = (WORKSHEET_DATAITEM_POLYPOLYGON*) aItem; msg = m_textCtrlRotation->GetValue(); msg.ToDouble( &dtmp ); item->m_Orient = dtmp; } if( aItem->GetType() == WORKSHEET_DATAITEM::WS_BITMAP ) { WORKSHEET_DATAITEM_BITMAP* item = (WORKSHEET_DATAITEM_BITMAP*) aItem; // Set definition in PPI long value; msg = m_textCtrlBitmapPPI->GetValue(); if( msg.ToLong( &value ) ) item->SetPPI( (int)value ); } return true; }