OSDN Git Service

内蔵テキストビューアの行間を設定できるようにした
[gefu/Gefu.git] / hexview.cpp
index 57f7b6f..a4a3b67 100644 (file)
@@ -13,6 +13,12 @@ const int BYTES_PER_LINE = 16;
 const int GAP_ADR_HEX = 1;
 const int GAP_HEX_ASCII = 3;
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::HexView
+/// \param parent   親ウィジェット
+///
+/// コンストラクタ
+///
 HexView::HexView(QScrollArea *parent) :
     QWidget(parent)
 {
@@ -23,17 +29,32 @@ HexView::HexView(QScrollArea *parent) :
     resetSelection(0);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::setData
+/// \param data データ
+///
+/// データを設定します。
+///
 void HexView::setData(const QByteArray &data)
 {
     m_data = data;
     adjust();
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::addressChars
+/// \return アドレスエリアの表示桁数を返します。
+///
 int HexView::addressChars() const
 {
     return QString("%1").arg(m_data.size(), 0, 16).length();
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::adjust
+///
+/// ウィジェットサイズを調整します。
+///
 void HexView::adjust()
 {
     int lines = (m_data.size() / BYTES_PER_LINE) + 1;
@@ -45,6 +66,11 @@ void HexView::adjust()
     setMinimumWidth(addressArea + hexArea + asciiArea);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::cursorPos
+/// \param pos  カーソル位置
+/// \return カーソル位置に対応するデータインデックスを返します。
+///
 int HexView::cursorPos(const QPoint &pos)
 {
     int result = -1;
@@ -66,6 +92,12 @@ int HexView::cursorPos(const QPoint &pos)
     return result;
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::resetSelection
+/// \param index    データインデックス
+///
+/// 選択範囲を初期化します。
+///
 void HexView::resetSelection(int index)
 {
     m_selectionBegin = index;
@@ -75,6 +107,12 @@ void HexView::resetSelection(int index)
     emit copyAvailable(false);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::setSelection
+/// \param index    データインデックス
+///
+/// 選択範囲を設定します。
+///
 void HexView::setSelection(int index)
 {
     if (index > m_selectionInit) {
@@ -89,16 +127,29 @@ void HexView::setSelection(int index)
     emit copyAvailable(m_selectionBegin != m_selectionEnd);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::xPosHex
+/// \return 16進表示エリアの開始座標を返します。
+///
 int HexView::xPosHex() const
 {
     return m_charWidth * (addressChars() + GAP_ADR_HEX);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::xPosAscii
+/// \return アスキー文字表示エリアの開始座標を返します。
+///
 int HexView::xPosAscii() const
 {
     return xPosHex() + m_charWidth * (HEXCHARS_IN_LINE + GAP_HEX_ASCII);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::onCopy
+///
+/// 選択範囲をクリップボードにコピーします。
+///
 void HexView::onCopy()
 {
     QString selected;
@@ -111,6 +162,11 @@ void HexView::onCopy()
     clipboard->setText(selected.trimmed());
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::onScaleDown
+///
+/// 文字を小さくします。
+///
 void HexView::onScaleDown()
 {
     Preferences prefs(this);
@@ -123,6 +179,11 @@ void HexView::onScaleDown()
     update();
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::onScaleUp
+///
+/// 文字を大きくします。
+///
 void HexView::onScaleUp()
 {
     Preferences prefs(this);
@@ -135,6 +196,11 @@ void HexView::onScaleUp()
     update();
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::onSelectAll
+///
+/// すべて選択します。
+///
 void HexView::onSelectAll()
 {
     resetSelection(0);
@@ -143,6 +209,12 @@ void HexView::onSelectAll()
     update();
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::setVisible
+/// \param visible  表示(true)/非表示(false)
+///
+/// 表示状態になった場合の処理を行います。
+///
 void HexView::setVisible(bool visible)
 {
     if (visible) {
@@ -161,6 +233,12 @@ void HexView::setVisible(bool visible)
     QWidget::setVisible(visible);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::mousePressEvent
+/// \param e    マウスイベントオブジェクト
+///
+/// マウスクリック時の処理を行います。
+///
 void HexView::mousePressEvent(QMouseEvent *e)
 {
     if (e->button() == Qt::LeftButton) {
@@ -171,6 +249,12 @@ void HexView::mousePressEvent(QMouseEvent *e)
     }
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::mouseDoubleClickEvent
+/// \param e    マウスイベントオブジェクト
+///
+/// ダブルクリック時の処理を行います。
+///
 void HexView::mouseDoubleClickEvent(QMouseEvent *e)
 {
     if (e->button() == Qt::LeftButton) {
@@ -183,6 +267,12 @@ void HexView::mouseDoubleClickEvent(QMouseEvent *e)
     }
 }
 
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::mouseMoveEvent
+/// \param e    マウスイベントオブジェクト
+///
+/// マウス移動時の処理を行います。
+///
 void HexView::mouseMoveEvent(QMouseEvent *e)
 {
     m_scrollArea->ensureVisible(e->x(), e->y());
@@ -194,10 +284,12 @@ void HexView::mouseMoveEvent(QMouseEvent *e)
     }
 }
 
-void HexView::keyPressEvent(QKeyEvent *)
-{
-}
-
+///////////////////////////////////////////////////////////////////////////////
+/// \brief HexView::paintEvent
+/// \param e    描画イベントオブジェクト
+///
+/// 描画イベントを処理します。
+///
 void HexView::paintEvent(QPaintEvent *e)
 {
     QPainter painter(this);