Ejemplo n.º 1
0
	void StandardPresenter::addField( PresentableField * pField )
	{
		CharBuffer * pBuffer = _charBuffer(pField);
		int nLines = _countLines( pBuffer );
	
		_setFieldDataBlock(pField,0);					// Make sure pointer is null for the realloc call.
		void * pBlock = _reallocBlock(pField,nLines);
		
		_updateLineInfo( _header(pBlock), _lineInfo(pBlock), pBuffer, _baseStyle(pField), _state(pField) );
		_updatePreferredSize( _header(pBlock), _lineInfo(pBlock) );	
	}
Ejemplo n.º 2
0
	void SplitPanel::setHandleThickness(int thickness)
	{
		//TODO: Assert on negative value.

		if (thickness != m_handleThickness)
		{
			m_handleThickness = thickness;
			_updatePreferredSize();
			_updateGeo();
		}
	}
Ejemplo n.º 3
0
	void SplitPanel::setHandleSkin(Skin * pSkin)
	{
		if (pSkin != m_pHandleSkin)
		{
			m_pHandleSkin = pSkin;
			_updatePreferredSize();
			bool bGeoChanged = _updateGeo();
			if (!bGeoChanged)
				_requestRender(m_handleGeo);
		}
	}
Ejemplo n.º 4
0
	void StandardPresenter::onRefresh( PresentableField * pField )
	{
		CharBuffer * pBuffer = _charBuffer(pField);
		int nLines = _countLines( pBuffer );
	
		void * pBlock = _fieldDataBlock(pField);
		if( !pBlock || _header(pBlock)->nbLines != nLines )
			pBlock = _reallocBlock(pField,nLines);
		
		_updateLineInfo( _header(pBlock), _lineInfo(pBlock), pBuffer, _baseStyle(pField), _state(pField) );
		_updatePreferredSize( _header(pBlock), _lineInfo(pBlock) );
	}
Ejemplo n.º 5
0
	void SplitPanel::_setWidget(Slot * _pSlot, Widget * pNewWidget)
	{
		auto pSlot = static_cast<SplitPanelSlot*>(_pSlot);

		pSlot->replaceWidget(this, pNewWidget);
		pNewWidget->_setSize(pSlot->geo);
		_updatePreferredSize();
		bool bGeoChanged =_updateGeo();
		if (!bGeoChanged)
			_requestRender(pSlot->geo);

	}