void CWndGuideTextMgr::OnInitialUpdate() 
{ 
	CWndNeuz::OnInitialUpdate(); 

	DelWndStyle(WBS_MOVE);
	AddWndStyle(WBS_TOPMOST);
	m_wndTitleBar.SetVisible( FALSE );

	m_bVisible = FALSE;

	CWndText* pWndText;
	CWndButton* pWndButton;
    pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 );
	m_Rect[0] = pWndText->GetWndRect();
	pWndButton = (CWndButton*)GetDlgItem( WIDC_BACK );
	m_Rect[1] = pWndButton->GetWndRect();
#if __VER >= 12 // __MOD_TUTORIAL
	pWndButton->SetVisible(FALSE);
#endif
	pWndButton  = (CWndButton*)GetDlgItem( WIDC_NEXT );	
	m_Rect[2] = pWndButton->GetWndRect();
	m_Rect[3] = GetWndRect();

	m_nCurrentVector = 0;
	m_VecGuideText.clear();	

	m_pTextureBG = m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_THEME, "GuideBG.tga" ), 0, TRUE );
} 
Exemple #2
0
void CUIWindow::GetAbsoluteRect(Frect& r) 
{
//.	Frect rect;

	if(GetParent() == NULL){
		GetWndRect		(r);
		return;
	}
//.	rect = GetParent()->GetAbsoluteRect();
	GetParent()->GetAbsoluteRect(r);

	Frect			rr;
	GetWndRect		(rr);
	r.left			+= rr.left;
	r.top			+= rr.top;
	r.right			= r.left + GetWidth();
	r.bottom		= r.top	+ GetHeight();
//.	return			rect;
}
Exemple #3
0
void CUIGlobalMap::ClipByVisRect()
{
	Frect r					= GetWndRect();
	Frect clip				= GetClipperRect();
	if (r.x2<clip.width())	r.x1 += clip.width()-r.x2;
	if (r.y2<clip.height())	r.y1 += clip.height()-r.y2;
	if (r.x1>0.0f)			r.x1 = 0.0f;
	if (r.y1>0.0f)			r.y1 = 0.0f;
	SetWndPos				(r.x1,r.y1);
}
Exemple #4
0
void CWndNeuz::OnSize(UINT nType, int cx, int cy)
{
	if(IsWndRoot())
		return;

	if( m_bTile ) //m_strTexture.IsEmpty() == FALSE )
	{
		CRect rectWnd = GetWndRect();
		CSize size2( rectWnd.Width(), rectWnd.Height() );
		CSize sizeDiv = size2;
		sizeDiv.cx %= 16;
		sizeDiv.cy %= 16;
		size2.cx /= 16; size2.cx *= 16;
		size2.cy /= 16; size2.cy *= 16;
		if( sizeDiv.cx ) size2.cx += 16;
		if( sizeDiv.cy ) size2.cy += 16;
		rectWnd.bottom = rectWnd.top + size2.cy;
		rectWnd.right = rectWnd.left + size2.cx;
		SetWndRect( rectWnd, FALSE );
	}
	AdjustWndBase();
	m_wndTitleBar.Replace(); 

	CWndBase::OnSize( nType, cx, cy );

//	if( rectOld.Width() != m_rectClient.Width() || rectOld.Height() != m_rectClient.Height() )


	// 차일드 윈도우들의 사이즈를 조절 
	/*
	for(int i = 0; i < m_wndArray.GetSize(); i++)
	{
		CWndBase* pWnd = (CWndBase*)m_wndArray.GetAt(i);
		if(pWnd->IsWndStyle(WBS_DOCKED))// && pWnd->IsWndStyle(WBS_CHILD))
		{
			CRect rect = pWnd->GetWindowRect(TRUE);
			rect.SetRect(0,0,cx,cy);
			pWnd->SetWndRect(rect);
		}
	}
	*/
	/*
	if(IsWndStyle(WBS_DOCKED))// && IsWndStyle(WBS_CHILD))
	{
		m_wndTitleBar.m_wndMinimize.SetVisible(FALSE);
		m_wndTitleBar.m_wndMaximize.SetVisible(FALSE);
	}
	*/
}
Exemple #5
0
void SQRButton::DrawWndText()
{
	CFPos pt = GetCursorPos();
	CFRect rt;
	GetWndRect( rt );
	rt.right -= rt.left;
	rt.bottom -= rt.top;
	rt.left = rt.top = 0.0f;
	if( IsHeld() )
		DrawText( GetWndTextW(), m_ClickDownColor, m_ClickDownBcColor );	
	else if( IsInWndArea( pt.x, pt.y ) && IsEnable() && IsLastMouseMsgWnd() )
		DrawText( GetWndTextW(), m_MouseOverColor, m_MouseOverBcColor );
	else
		SQRWnd::DrawWndText();
}
void WndTrailModify::Update()
{
	//UPDATE DEFAULT
	ui::Wnd::UpdateDefault();

	DWORD &dwStyle = m_tWindowInfo.dwStyle;
	ui::Manager::_tagINPUTINFO *pInputInfo = ui::Manager::GetInstance()->GetInputInfoBuffer();
	if (dwStyle & FWS_VISIBLE && !(dwStyle & FWS_DISABLE))
	{
		ui::Wnd::UpdateChild();		
		if(pInputInfo->eType == UIMT_MS_BTNDOWN && pInputInfo->dwData & MK_LBUTTON)
		{
			if(!m_pNode)
				return;
			RECT rect;
			GetWndRect(&rect);
			if (::PtInRect(&rect,pInputInfo->ptMouse))
			{			
				m_pBtnConfirm->GetWndRect(&rect);
				if(::PtInRect(&rect,pInputInfo->ptMouse) && m_pBtnConfirm->IsVisible())
				{
					WndViewer  * pWndViewer	= (WndViewer *)GetParent();
					WndTrailTree *pWndTrailTree = pWndViewer->GetWndTrailTree();
					char strValue[128];
					m_pEditBox->GetEditText(strValue,127);
					if (strlen(strValue)>0)
					{
						m_pNode->SetValue(strValue);
						pWndTrailTree->SaveTrailFile();
					}
					ShowWnd(false);
				}

				m_pBtnCancel->GetWndRect(&rect);
				if(::PtInRect(&rect,pInputInfo->ptMouse) && m_pBtnCancel->IsVisible())
				{
					ShowWnd(false);
				}
			}
		}
	}
}
//-----------------------------------------------------------------------------
void CWndHelperWebBox::OnInitialUpdate( void )
{
	CWndNeuz::OnInitialUpdate();

	SetTitle( prj.GetText( TID_GAME_HELPER_WEB_BOX_ICON_TITLE ) );

	if( g_Option.m_nResWidth >= 1024 && g_Option.m_nResHeight >= 768 )
	{
		CRect rectHelperWebBox = GetWndRect();
		rectHelperWebBox.right = 1024;
		rectHelperWebBox.bottom = 768;
		SetWndRect( rectHelperWebBox );
	}

	DelWndStyle( WBS_MOVE );
	AddWndStyle( WBS_TOPMOST );

	CHelperWebBox::GetInstance()->Initialize();

	MoveParentCenter();
}
Exemple #8
0
float CUIGlobalMap::CalcOpenRect(const Fvector2& center_point, Frect& map_desired_rect, float tgt_zoom)
{
    Fvector2                    new_center_pt;
	// calculate desired rect in new zoom
    map_desired_rect.set		(0.0f,0.0f, BoundRect().width()*tgt_zoom,BoundRect().height()*tgt_zoom);
	// calculate center point in new zoom (center_point is in identity global map space)
    new_center_pt.set           (center_point.x*tgt_zoom,center_point.y*tgt_zoom);
	// get vis width & height
	Frect vis_abs_rect			= m_mapWnd->ActiveMapRect();
	float vis_w					= vis_abs_rect.width();
	float vis_h					= vis_abs_rect.height();
	// calculate center delta from vis rect
	Fvector2 delta_pos;
	delta_pos.set				(new_center_pt.x-vis_w*0.5f,new_center_pt.y-vis_h*0.5f);
	// correct desired rect
	map_desired_rect.sub		(delta_pos.x,delta_pos.y);
	// clamp pos by vis rect
	const Frect& r				= map_desired_rect;
	Fvector2 np					= r.lt;
	if (r.x2<vis_w)	np.x		+= vis_w-r.x2;
	if (r.y2<vis_h)	np.y		+= vis_h-r.y2;
	if (r.x1>0.0f)	np.x		= 0.0f;
	if (r.y1>0.0f)	np.y		= 0.0f;
	np.sub						(r.lt);
	map_desired_rect.add		(np.x,np.y);
	// calculate max way dist
	float dist					= 0.f;

	Frect s_rect,t_rect;
	s_rect.div					(GetWndRect(),GetCurrentZoom(),GetCurrentZoom());
	t_rect.div					(map_desired_rect,tgt_zoom,tgt_zoom);

	Fvector2 cpS,cpT;
	s_rect.getcenter			(cpS);
	t_rect.getcenter			(cpT);

	dist						= cpS.distance_to(cpT);

	return dist;
}
void CUIActorMenu::InfoCurItem( CUICellItem* cell_item )
{
	if ( !cell_item )
	{
		m_ItemInfo->InitItem( NULL );
		return;
	}
	PIItem current_item = (PIItem)cell_item->m_pData;

	PIItem compare_item = NULL;
	u32    compare_slot = current_item->GetSlot();
	if ( compare_slot != NO_ACTIVE_SLOT )
	{
		compare_item = m_pActorInvOwner->inventory().m_slots[compare_slot].m_pIItem;
	}

#ifdef TRADE_TIP
	m_ItemInfo->m_TradeTip = "";
	if (m_currMenuMode == mmTrade)
	{
		// calculation tips
		CInventoryOwner* item_owner = smart_cast<CInventoryOwner*>(current_item->m_pInventory->GetOwner());
		if (!current_item->CanTrade() ||
			(
			item_owner && item_owner == m_pActorInvOwner &&
			!m_pPartnerInvOwner->trade_parameters().enabled(CTradeParameters::action_buy(0), current_item->object().cNameSect())
			)
			)
			m_ItemInfo->m_TradeTip = "st_no_trade_tip_1";
		else if (current_item->GetCondition() < m_pPartnerInvOwner->trade_parameters().buy_item_condition_factor)
			m_ItemInfo->m_TradeTip = "st_no_trade_tip_2";
	}
#endif

	m_ItemInfo->InitItem	( current_item, compare_item );
	float dx_pos = GetWndRect().left;
	m_ItemInfo->AlignHintWndPos( Frect().set( 0.0f, 0.0f, 1024.0f - dx_pos, 768.0f ), 10.0f, dx_pos );
}
Exemple #10
0
void CDDrawRecord::ClearScreen(int iWnd, DWORD color)
{
	RECT dst;
	GetWndRect(iWnd, dst);
	DrawRect(color, &dst, lpDDSBack);
}
Exemple #11
0
LPDIRECTDRAWSURFACE7 CDDrawRecord::PlayYUV(BYTE* y, BYTE* u, BYTE* v, int iWnd, LPDIRECTDRAWSURFACE7 lpDDSView, RECT SurfaceRt, RECT& dst)
{
	GetWndRect(iWnd, dst);
	return CDDraw::PlayYUV(y, u, v, iWnd, lpDDSView, SurfaceRt);
}
Exemple #12
0
int32 SQRScrollBar::Create( const WndCreateParam& param )
{
	WndCreateParam newParam = param;
	newParam.uStyle |= WS_CHILD;
	if( FAILED( SQRWnd::Create( newParam ) ) )
		return GERROR;

	CFRect rt;
	CFRect rt1,rt2,rt3;
	GetWndRect( rt );
	CFRect rtWnd = rt;

	float PressW;
	if( GetStyle()&SS_HSCROLL )
	{
		PressW = min( rtWnd.Height(), rtWnd.Width() / 3 );
		rt1 = CFRect( 0, 0, PressW, rtWnd.Height() );
		rt2 = CFRect( rtWnd.Width() - PressW, 0, rtWnd.Width(), rtWnd.Height() );
		rt3 = rt1;
		rt3.left = rt1.right;
		rt3.right = rt3.left + rt1.Width();	
	}
	else
	{
		PressW = min( rtWnd.Width(), rtWnd.Height() / 3 );
		rt1 = CFRect( 0, 0, rtWnd.Width(), PressW );
		rt2 = CFRect( 0, rtWnd.Height() - PressW, rtWnd.Width(), rtWnd.Height() );
		rt3 = rt1;
		rt3.top = rt1.bottom;
		rt3.bottom = rt3.top + rt1.Height();	
	}

	WndCreateParam childParam;
	childParam.x = rt1.left;
	childParam.y = rt1.top;
	childParam.width = rt1.Width();
	childParam.height = rt1.Height();
	childParam.pParentWnd = this;
	childParam.font_size = 12;
	m_pPressButton1->Create( childParam );
	m_pPressButton1->SetMouseWheel(true);
	childParam.x = rt2.left;
	childParam.y = rt2.top;
	childParam.width = rt2.Width();
	childParam.height = rt2.Height();
	m_pPressButton2->Create( childParam );
	m_pPressButton2->SetMouseWheel(true);
	childParam.x = rt3.left;
	childParam.y = rt3.top;
	childParam.width = rt3.Width();
	childParam.height = rt3.Height();
	m_pScrollBar->Create( childParam );
	m_pScrollBar->SetMouseWheel(true);
	//m_pScrollBar->ShowWnd(false);
	if( GetStyle()&SS_HSCROLL )
	{
		m_pPressButton1->SetLockFlag( LOCK_LEFT|LOCK_TOP|LOCK_BOTTOM );
		m_pPressButton2->SetLockFlag( LOCK_RIGHT|LOCK_TOP|LOCK_BOTTOM);
		m_pScrollBar->SetLockFlag(LOCK_LEFT|LOCK_RIGHT|LOCK_TOP|LOCK_BOTTOM);
	}
	else
	{
		m_pPressButton1->SetLockFlag( LOCK_TOP|LOCK_LEFT|LOCK_RIGHT );
		m_pPressButton2->SetLockFlag( LOCK_BOTTOM|LOCK_LEFT|LOCK_RIGHT );
		m_pScrollBar->SetLockFlag(LOCK_TOP|LOCK_BOTTOM|LOCK_LEFT|LOCK_RIGHT);
	}

	m_fRange		= 100;
	m_fPageSize = 10;
	m_fCurPos	= 0;

	RefreshThumbState();
	SetMouseWheel(true);
	return 0;
}
Exemple #13
0
bool CUIWindow::OnMouse(float x, float y, EUIMessages mouse_action)
{	
	Frect	wndRect = GetWndRect();

	cursor_pos.x = x;
	cursor_pos.y = y;


	if( WINDOW_LBUTTON_DOWN == mouse_action )
	{
		static u32 _last_db_click_frame		= 0;
		u32 dwCurTime						= Device.dwTimeContinual;

		if( (_last_db_click_frame!=Device.dwFrame) && (dwCurTime-m_dwLastClickTime < DOUBLE_CLICK_TIME) )
		{
            mouse_action			= WINDOW_LBUTTON_DB_CLICK;
			_last_db_click_frame	= Device.dwFrame;
		}

		m_dwLastClickTime = dwCurTime;
	}

	if(GetParent()== NULL)
	{
		if(!wndRect.in(cursor_pos))
            return false;
		//получить координаты относительно окна
		cursor_pos.x -= wndRect.left;
		cursor_pos.y -= wndRect.top;
	}


	//если есть дочернее окно,захватившее мышь, то
	//сообщение направляем ему сразу
	if(m_pMouseCapturer)
	{
		m_pMouseCapturer->OnMouse(cursor_pos.x - m_pMouseCapturer->GetWndRect().left, 
								  cursor_pos.y - m_pMouseCapturer->GetWndRect().top, 
								  mouse_action);
		return true;
	}

	// handle any action
	switch (mouse_action){
		case WINDOW_MOUSE_MOVE:
			OnMouseMove();							break;
		case WINDOW_MOUSE_WHEEL_DOWN:
			OnMouseScroll(WINDOW_MOUSE_WHEEL_DOWN); break;
		case WINDOW_MOUSE_WHEEL_UP:
			OnMouseScroll(WINDOW_MOUSE_WHEEL_UP);	break;
		case WINDOW_LBUTTON_DOWN:
			if(OnMouseDown(MOUSE_1))				return true;	break;
		case WINDOW_RBUTTON_DOWN:
			if(OnMouseDown(MOUSE_2))				return true;	break;
		case WINDOW_CBUTTON_DOWN:
			if(OnMouseDown(MOUSE_3))				return true;	break;
		case WINDOW_LBUTTON_DB_CLICK:
			if (OnDbClick())						return true;	break;
		default:
            break;
	}

	//Проверка на попадание мыши в окно,
	//происходит в обратном порядке, чем рисование окон
	//(последние в списке имеют высший приоритет)
	WINDOW_LIST::reverse_iterator it = m_ChildWndList.rbegin();

	for(; it!=m_ChildWndList.rend(); ++it)
	{
		CUIWindow* w	= (*it);
		Frect wndRect	= w->GetWndRect();
		if (wndRect.in(cursor_pos) )
		{
			if(w->IsEnabled())
			{
				if( w->OnMouse(cursor_pos.x -w->GetWndRect().left, 
							   cursor_pos.y -w->GetWndRect().top, mouse_action))return true;
			}
		}
		else if (w->IsEnabled() && w->CursorOverWindow())
		{
			if( w->OnMouse(cursor_pos.x -w->GetWndRect().left, 
						   cursor_pos.y -w->GetWndRect().top, mouse_action))return true;
		}
	}


	return false;
}
void CWndGuideTextMgr::_SetGuideText(GUIDE_STRUCT guide)
#endif
{
	CWndText* pWndText;
	CWndButton* pWndButton;

	pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 );
	pWndText->SetWndRect( m_Rect[0] );
	pWndButton= (CWndButton*)GetDlgItem( WIDC_BACK );
	pWndButton->SetWndRect( m_Rect[1] );
	pWndButton= (CWndButton*)GetDlgItem( WIDC_NEXT );
	pWndButton->SetWndRect( m_Rect[2] );
	SetWndRect(	m_Rect[3] );
#if __VER >= 12 // __MOD_TUTORIAL
	if(bIsNext) pWndButton->SetVisible(TRUE);
	else		pWndButton->SetVisible(FALSE);
#endif
	
	m_bVisible = TRUE;

	m_strHelpKey = guide.m_str;
	pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 );
#if __VER >= 12 // __MOD_TUTORIAL
	pWndText->SetString("");
	pWndText->m_string.AddParsingString(LPCTSTR(guide.m_str));
	pWndText->ResetString();
#else
	pWndText->SetString( (guide.m_nkey == CWndGuideSystem::KEY) ? prj.GetHelp( m_strHelpKey ) : guide.m_str );
#endif
	CRect rect = pWndText->GetWndRect();

	pWndText->m_string.Align( m_pFont );
	
	int nLine = pWndText->m_string.GetLineCount();
	
	if( nLine < 10 )
	{
		if( nLine < 8 )
			nLine = 8;

		CRect clientrect = GetWndRect();
		
		int ngap = rect.Height() - (nLine * 22);
		clientrect.top += ngap;
		SetWndRect(clientrect);

		rect.bottom -= ngap;
		pWndText->SetWndRect( rect );

		CRect ptRect;
#ifndef __MOD_TOTURIAL
		pWndButton= (CWndButton*)GetDlgItem( WIDC_BACK );
		ptRect = pWndButton->GetWndRect();
		ptRect.OffsetRect( 0, -ngap );
		pWndButton->SetWndRect(ptRect);
#endif
		pWndButton= (CWndButton*)GetDlgItem( WIDC_NEXT );
		ptRect = pWndButton->GetWndRect();
		ptRect.OffsetRect( 0, -ngap );
		pWndButton->SetWndRect(ptRect);
		
		pWndText->m_wndScrollBar.m_bVisible = FALSE;
	}
	else
	{
		/*
		pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 );
		pWndText->SetWndRect( m_Rect[0] );
		pWndButton= (CWndButton*)GetDlgItem( WIDC_BACK );
		pWndButton->SetWndRect( m_Rect[1] );
		pWndButton= (CWndButton*)GetDlgItem( WIDC_NEXT );
		pWndButton->SetWndRect( m_Rect[2] );
		SetWndRect(	m_Rect[3] );
		*/

		pWndText->m_wndScrollBar.m_bVisible = TRUE;
		pWndText->SetWndRect( rect );
	}

	CWndGuideSystem* pWndGuide = (CWndGuideSystem*)GetWndBase( APP_GUIDE );
	CRect rectGuide = pWndGuide->GetWindowRect( TRUE );
	CPoint ptGuide = rectGuide.TopLeft();
	CPoint ptMove;

	pWndGuide->m_bVisible = TRUE;
	
	CRect windowrect = GetWindowRect( TRUE );
	
	if( ptGuide.x > windowrect.Width() )
		ptMove = ptGuide - CPoint( windowrect.Width(), 0 );
	else
		ptMove = ptGuide + CPoint( rectGuide.Width(), 0 );

	ptMove.y = rectGuide.bottom;
	ptMove.y -= windowrect.Height();
	
	if( ptMove.y < 0 )
		ptMove.y = rectGuide.top;
	
	Move( ptMove );
}
void SQRCheckButton::DrawWndText()
{
	UIWString str = GetWndTextW();
	int32 nSize = str.size();
	if( !nSize )
		return;

	CFPos pt = GetCursorPos();
	CFRect rt;
	GetWndRect(rt);
	rt.right	-= rt.left;
	rt.bottom	-= rt.top;
	rt.left		 = rt.top = 0;
 
	int32 i = 0;
	const wchar_t* szText = str.c_str();
	for( ; i < nSize - 1; i++ )
	{
		if( str[i] == '\\' && str[ i + 1 ] == 'n' )
			str[i] = str[ i + 1 ] = 0;
		if( !str[i] && !str[ i + 1 ] )
		{
			if( !m_bCheck )
				szText += i + 2;
			break;
		}
	}

	//处于选中状态
	if( m_bCheck )
	{
		if( IsHeld() )
		{
			if( IsInWndArea( pt.x, pt.y ) )
				DrawText( szText, m_ClickDownColor, m_ClickDownBcColor);
			else if( IsEnable() )
				DrawText( szText, m_hWnd->m_EnableColor, m_hWnd->m_EnableBcColor );
			else
				DrawText( szText, m_hWnd->m_DisableColor, m_hWnd->m_DisableBcColor );

		}
		else
		{
			if( IsInWndArea( pt.x, pt.y ) && IsEnable() )
				DrawText( szText, m_MouseOverColor, m_MouseOverBcColor );
			else if( IsEnable() )
				DrawText( szText, m_hWnd->m_EnableColor, m_hWnd->m_EnableBcColor );
			else
				DrawText( szText, m_hWnd->m_DisableColor, m_hWnd->m_DisableBcColor );
		}
	}
	//非选中状态
	else if( !m_bCheck )
	{
		if( IsHeld() )
		{
			if( IsInWndArea( pt.x, pt.y ) )
				DrawText( szText, m_UncheckClickDownColor, m_UncheckClickDownBcColor );
			else
				DrawText( szText, m_UncheckEnableColor, m_UncheckEnableBcColor );
		}
		else
		{
			if( IsInWndArea( pt.x, pt.y ) && IsEnable() )
				DrawText( szText, m_UncheckMouseOverColor, m_UncheckMouseOverBcColor );
			else if( IsEnable() )
				DrawText( szText, m_UncheckEnableColor, m_UncheckEnableBcColor );
			else
				DrawText( szText, m_UncheckDisableColor, m_UncheckDisableBcColor );
		}
	}
}
Exemple #16
0
void CUIActorMenu::InfoCurItem( CUICellItem* cell_item )
{
	if ( !cell_item )
	{
		m_ItemInfo->InitItem( NULL );
		return;
	}
	PIItem current_item = (PIItem)cell_item->m_pData;

	PIItem compare_item = NULL;
	u16    compare_slot = current_item->BaseSlot();
	if ( compare_slot != NO_ACTIVE_SLOT )
	{
		compare_item = m_pActorInvOwner->inventory().ItemFromSlot(compare_slot);
	}

	if(GetMenuMode()==mmTrade)
	{
		CInventoryOwner* item_owner = smart_cast<CInventoryOwner*>(current_item->m_pInventory->GetOwner());
		u32 item_price = u32(-1);
		if(item_owner && item_owner==m_pActorInvOwner)
			item_price = m_partner_trade->GetItemPrice(current_item, true);
		else
			item_price = m_partner_trade->GetItemPrice(current_item, false);

		//if(item_price>500)
		//	item_price = iFloor(item_price/10+0.5f)*10;

		CWeaponAmmo* ammo = smart_cast<CWeaponAmmo*>(current_item);
		if(ammo)
		{
			for( u32 j = 0; j < cell_item->ChildsCount(); ++j )
			{
				u32 tmp_price	= 0;
				PIItem jitem	= (PIItem)cell_item->Child(j)->m_pData;
				CInventoryOwner* ammo_owner = smart_cast<CInventoryOwner*>(jitem->m_pInventory->GetOwner());
				if(ammo_owner && ammo_owner==m_pActorInvOwner)
					tmp_price = m_partner_trade->GetItemPrice(jitem, true);
				else
					tmp_price = m_partner_trade->GetItemPrice(jitem, false);

				//if(tmp_price>500)
				//	tmp_price = iFloor(tmp_price/10+0.5f)*10;

				item_price		+= tmp_price;
			}
		}

		if(	!current_item->CanTrade() || 
			(!m_pPartnerInvOwner->trade_parameters().enabled(CTradeParameters::action_buy(0), 
															current_item->object().cNameSect()) &&
			item_owner && item_owner==m_pActorInvOwner)
		)
			m_ItemInfo->InitItem	( cell_item, compare_item, u32(-1), "st_no_trade_tip_1" );
		else if(current_item->GetCondition()<m_pPartnerInvOwner->trade_parameters().buy_item_condition_factor)
			m_ItemInfo->InitItem	( cell_item, compare_item, u32(-1), "st_no_trade_tip_2" );
		else
			m_ItemInfo->InitItem	( cell_item, compare_item, item_price );
	}
	else
		m_ItemInfo->InitItem	( cell_item, compare_item, u32(-1));

//	m_ItemInfo->InitItem	( current_item, compare_item );
	float dx_pos = GetWndRect().left;
	fit_in_rect(m_ItemInfo, Frect().set( 0.0f, 0.0f, UI_BASE_WIDTH - dx_pos, UI_BASE_HEIGHT ), 10.0f, dx_pos );
}