Logo Search packages:      
Sourcecode: codeblocks version File versions  Download package

HexEditViewBase.cpp

/*
* This file is part of HexEditor plugin for Code::Blocks Studio
* Copyright (C) 2008-2009 Bartlomiej Swiecki
*
* HexEditor plugin is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* HexEditor pluging is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with HexEditor. If not, see <http://www.gnu.org/licenses/>.
*
* $Revision: 5445 $
* $Id: HexEditViewBase.cpp 5445 2009-02-07 00:35:09Z byo $
* $HeadURL: svn+ssh://jenslody@svn.berlios.de/svnroot/repos/codeblocks/trunk/src/plugins/contrib/HexEditor/HexEditViewBase.cpp $
*/

#include "HexEditViewBase.h"
#include "HexEditPanel.h"

00026 HexEditViewBase::HexEditViewBase( HexEditPanel* panel )
    : m_IsActive( false )
    , m_ScreenStartOffset( 0 )
    , m_CurrentOffset( 0 )
    , m_BlockStartOffset( 0 )
    , m_BlockEndOffset( 0 )
    , m_Panel( panel )
{
}

00036 HexEditViewBase::~HexEditViewBase()
{
}

00040 bool HexEditViewBase::SetActive(bool makeMeActive)
{
    if ( makeMeActive == m_IsActive ) return m_IsActive;

    OnActivate( makeMeActive );
    m_IsActive = makeMeActive;
    return !m_IsActive;
}

00049 void HexEditViewBase::CalculateBlockSize( OffsetT screenStartOffset, OffsetT currentOffset, OffsetT& blockStart, OffsetT& blockEnd )
{
    m_ScreenStartOffset = screenStartOffset;
    m_CurrentOffset     = currentOffset;
    OnCalculateBlockSize( blockStart, blockEnd );
}

00056 void HexEditViewBase::JumpToOffset( OffsetT screenStartOffset, OffsetT currentOffset, OffsetT blockStart, OffsetT blockEnd, int flags )
{
    m_BlockStartOffset  = blockStart;
    m_BlockEndOffset    = blockEnd;
    m_CurrentOffset     = currentOffset;
    m_ScreenStartOffset = screenStartOffset;

    OnOffsetChange( flags );
}

00066 void HexEditViewBase::PutChar(wxChar ch)
{
    if ( !m_IsActive ) return;
    OnProcessChar( ch );
}

00072 void HexEditViewBase::MoveLeft()
{
    if ( !m_IsActive ) return;
    OnMoveLeft();
}

00078 void HexEditViewBase::MoveRight()
{
    if ( !m_IsActive ) return;
    OnMoveRight();
}

00084 void HexEditViewBase::MoveUp()
{
    if ( !m_IsActive ) return;
    OnMoveUp();
}

00090 void HexEditViewBase::MoveDown()
{
    if ( !m_IsActive ) return;
    OnMoveDown();
}

00096 void HexEditViewBase::PutLine( OffsetT offs, HexEditLineBuffer& buff, char* content, int bytes )
{
    OnPutLine( offs, buff, content, bytes );
}

00101 void HexEditViewBase::GetBlockSizes( int& blockLength, int& blockBytes, int& spacing )
{
    OnGetBlockSizes( blockLength, blockBytes, spacing );
}

00106 void HexEditViewBase::ContentChange()
{
    m_Panel->ViewNotifyContentChange();
}

00111 void HexEditViewBase::OffsetChange(OffsetT currentOffset)
{
    m_CurrentOffset = currentOffset;
    m_Panel->ViewNotifyOffsetChange( currentOffset );
}

00117 FileContentBase * HexEditViewBase::GetContent()
{
    return m_Panel->m_Content;
}

00122 unsigned int HexEditViewBase::GetLineBytes()
{
    return (unsigned int)m_Panel->m_LineBytes;
}

00127 void HexEditViewBase::OnCalculateBlockSize( OffsetT& blockStart, OffsetT& blockEnd )
{
    blockStart = m_CurrentOffset;
    blockEnd   = m_CurrentOffset + 1;
}

00133 void HexEditViewBase::OnOffsetChange( int )
{
}

00137 int HexEditViewBase::OnGetCurrentPositionFlags()
{
    return 0;
}

00142 int HexEditViewBase::GetOffsetFromColumn( int column, int& positionFlags )
{
    return OnGetOffsetFromColumn( column, positionFlags );
}


Generated by  Doxygen 1.6.0   Back to index