mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
make sure eol-style native is set and fix eol style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14279 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
d2b2aa8124
commit
05eeb3ae77
@ -1,158 +1,158 @@
|
||||
/**
|
||||
* \file InsertTableWidget.C
|
||||
*
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Edwin Leuven
|
||||
*
|
||||
* Full author contact details are available in file CREDITS.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "BufferView.h" // needed for lyxfunc
|
||||
#include "lyxfunc.h"
|
||||
#include "FuncStatus.h"
|
||||
#include "funcrequest.h"
|
||||
#include "LyXView.h"
|
||||
|
||||
#include "qt_helpers.h"
|
||||
|
||||
#include "InsertTableWidget.h"
|
||||
#include <QMouseEvent>
|
||||
#include <QString>
|
||||
#include <QToolTip>
|
||||
#include <QPainter>
|
||||
|
||||
|
||||
namespace lyx {
|
||||
namespace frontend {
|
||||
|
||||
InsertTableWidget::InsertTableWidget(LyXView & lyxView, QWidget * parent)
|
||||
: QWidget(parent, Qt::Popup), colwidth_(20), rowheight_(12), lyxView_(lyxView)
|
||||
{
|
||||
init();
|
||||
setMouseTracking(true);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::init()
|
||||
{
|
||||
rows_ = 5;
|
||||
cols_ = 5;
|
||||
bottom_ = 0;
|
||||
right_ = 0;
|
||||
underMouse_ = false;
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::show(bool show)
|
||||
{
|
||||
if (!show)
|
||||
return;
|
||||
|
||||
init();
|
||||
resetGeometry();
|
||||
setVisible(true);
|
||||
// emit signal
|
||||
visible(true);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::resetGeometry()
|
||||
{
|
||||
QPoint p = parentWidget()->mapToGlobal(parentWidget()->geometry().bottomLeft());
|
||||
setGeometry(p.x() - parentWidget()->pos().x(),
|
||||
p.y() - parentWidget()->pos().y(),
|
||||
cols_ * colwidth_ + 1, rows_ * rowheight_ + 1);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::mouseMoveEvent(QMouseEvent * event)
|
||||
{
|
||||
// do this ourselves because when the mouse leaves the app
|
||||
// we get an enter event (ie underMouse() is true)!!
|
||||
underMouse_ = geometry().contains(event->globalPos());
|
||||
if (!underMouse_) {
|
||||
bottom_ = 0;
|
||||
right_ = 0;
|
||||
update();
|
||||
return;
|
||||
}
|
||||
|
||||
int const r0 = right_;
|
||||
int const b0 = bottom_;
|
||||
right_ = event->x() / colwidth_ + 1;
|
||||
bottom_ = event->y() / rowheight_ + 1;
|
||||
|
||||
if (bottom_ == rows_) {
|
||||
++rows_;
|
||||
resetGeometry();
|
||||
}
|
||||
|
||||
if (right_ == cols_) {
|
||||
++cols_;
|
||||
resetGeometry();
|
||||
}
|
||||
|
||||
if (bottom_ != b0 || right_ != r0) {
|
||||
update();
|
||||
QString const status = QString("%1x%2").arg(bottom_).arg(right_);
|
||||
QToolTip::showText(event->globalPos(), status , this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::mouseReleaseEvent(QMouseEvent * event)
|
||||
{
|
||||
if (underMouse_) {
|
||||
QString const data = QString("%1 %2").arg(bottom_).arg(right_);
|
||||
lyxView_.getLyXFunc().dispatch(FuncRequest(LFUN_TABULAR_INSERT, fromqstr(data)));
|
||||
}
|
||||
// emit signal
|
||||
visible(false);
|
||||
close();
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::mousePressEvent(QMouseEvent * event)
|
||||
{
|
||||
// swallow this one
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::paintEvent(QPaintEvent * event)
|
||||
{
|
||||
drawGrid(rows_, cols_, Qt::white);
|
||||
if (underMouse_)
|
||||
drawGrid(bottom_, right_, Qt::darkBlue);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::drawGrid(int const rows, int const cols, Qt::GlobalColor const color)
|
||||
{
|
||||
QPainter painter(this);
|
||||
painter.setPen(Qt::darkGray);
|
||||
painter.setBrush(color);
|
||||
|
||||
for (int r = 0 ; r < rows ; ++r ) {
|
||||
for (int c = 0 ; c < cols ; ++c ) {
|
||||
QRect rectangle(c * colwidth_, r * rowheight_, colwidth_, rowheight_);
|
||||
painter.drawRect(rectangle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::updateParent()
|
||||
{
|
||||
bool status = lyxView_.getLyXFunc().getStatus(FuncRequest(LFUN_TABULAR_INSERT)).enabled();
|
||||
parentWidget()->setEnabled(status);
|
||||
}
|
||||
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
||||
|
||||
#include "InsertTableWidget_moc.cpp"
|
||||
/**
|
||||
* \file InsertTableWidget.C
|
||||
*
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Edwin Leuven
|
||||
*
|
||||
* Full author contact details are available in file CREDITS.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "BufferView.h" // needed for lyxfunc
|
||||
#include "lyxfunc.h"
|
||||
#include "FuncStatus.h"
|
||||
#include "funcrequest.h"
|
||||
#include "LyXView.h"
|
||||
|
||||
#include "qt_helpers.h"
|
||||
|
||||
#include "InsertTableWidget.h"
|
||||
#include <QMouseEvent>
|
||||
#include <QString>
|
||||
#include <QToolTip>
|
||||
#include <QPainter>
|
||||
|
||||
|
||||
namespace lyx {
|
||||
namespace frontend {
|
||||
|
||||
InsertTableWidget::InsertTableWidget(LyXView & lyxView, QWidget * parent)
|
||||
: QWidget(parent, Qt::Popup), colwidth_(20), rowheight_(12), lyxView_(lyxView)
|
||||
{
|
||||
init();
|
||||
setMouseTracking(true);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::init()
|
||||
{
|
||||
rows_ = 5;
|
||||
cols_ = 5;
|
||||
bottom_ = 0;
|
||||
right_ = 0;
|
||||
underMouse_ = false;
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::show(bool show)
|
||||
{
|
||||
if (!show)
|
||||
return;
|
||||
|
||||
init();
|
||||
resetGeometry();
|
||||
setVisible(true);
|
||||
// emit signal
|
||||
visible(true);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::resetGeometry()
|
||||
{
|
||||
QPoint p = parentWidget()->mapToGlobal(parentWidget()->geometry().bottomLeft());
|
||||
setGeometry(p.x() - parentWidget()->pos().x(),
|
||||
p.y() - parentWidget()->pos().y(),
|
||||
cols_ * colwidth_ + 1, rows_ * rowheight_ + 1);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::mouseMoveEvent(QMouseEvent * event)
|
||||
{
|
||||
// do this ourselves because when the mouse leaves the app
|
||||
// we get an enter event (ie underMouse() is true)!!
|
||||
underMouse_ = geometry().contains(event->globalPos());
|
||||
if (!underMouse_) {
|
||||
bottom_ = 0;
|
||||
right_ = 0;
|
||||
update();
|
||||
return;
|
||||
}
|
||||
|
||||
int const r0 = right_;
|
||||
int const b0 = bottom_;
|
||||
right_ = event->x() / colwidth_ + 1;
|
||||
bottom_ = event->y() / rowheight_ + 1;
|
||||
|
||||
if (bottom_ == rows_) {
|
||||
++rows_;
|
||||
resetGeometry();
|
||||
}
|
||||
|
||||
if (right_ == cols_) {
|
||||
++cols_;
|
||||
resetGeometry();
|
||||
}
|
||||
|
||||
if (bottom_ != b0 || right_ != r0) {
|
||||
update();
|
||||
QString const status = QString("%1x%2").arg(bottom_).arg(right_);
|
||||
QToolTip::showText(event->globalPos(), status , this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::mouseReleaseEvent(QMouseEvent * event)
|
||||
{
|
||||
if (underMouse_) {
|
||||
QString const data = QString("%1 %2").arg(bottom_).arg(right_);
|
||||
lyxView_.getLyXFunc().dispatch(FuncRequest(LFUN_TABULAR_INSERT, fromqstr(data)));
|
||||
}
|
||||
// emit signal
|
||||
visible(false);
|
||||
close();
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::mousePressEvent(QMouseEvent * event)
|
||||
{
|
||||
// swallow this one
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::paintEvent(QPaintEvent * event)
|
||||
{
|
||||
drawGrid(rows_, cols_, Qt::white);
|
||||
if (underMouse_)
|
||||
drawGrid(bottom_, right_, Qt::darkBlue);
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::drawGrid(int const rows, int const cols, Qt::GlobalColor const color)
|
||||
{
|
||||
QPainter painter(this);
|
||||
painter.setPen(Qt::darkGray);
|
||||
painter.setBrush(color);
|
||||
|
||||
for (int r = 0 ; r < rows ; ++r ) {
|
||||
for (int c = 0 ; c < cols ; ++c ) {
|
||||
QRect rectangle(c * colwidth_, r * rowheight_, colwidth_, rowheight_);
|
||||
painter.drawRect(rectangle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void InsertTableWidget::updateParent()
|
||||
{
|
||||
bool status = lyxView_.getLyXFunc().getStatus(FuncRequest(LFUN_TABULAR_INSERT)).enabled();
|
||||
parentWidget()->setEnabled(status);
|
||||
}
|
||||
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
||||
|
||||
#include "InsertTableWidget_moc.cpp"
|
||||
|
@ -1,74 +1,74 @@
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file InsertTableWidget.h
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Edwin Leuven
|
||||
*
|
||||
* Full author contact details are available in file CREDITS.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef INSERTTABLEWIDGET_H
|
||||
#define INSERTTABLEWIDGET_H
|
||||
|
||||
#include "frontends/LyXView.h"
|
||||
#include <QWidget>
|
||||
|
||||
namespace lyx {
|
||||
namespace frontend {
|
||||
|
||||
|
||||
class InsertTableWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
InsertTableWidget(LyXView &, QWidget *);
|
||||
|
||||
Q_SIGNALS:
|
||||
//! widget is visible
|
||||
void visible(bool);
|
||||
|
||||
public Q_SLOTS:
|
||||
//! show the widget
|
||||
void show(bool);
|
||||
//! enable/disable parent
|
||||
void updateParent();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void mouseMoveEvent(QMouseEvent *);
|
||||
void mouseReleaseEvent(QMouseEvent *);
|
||||
void mousePressEvent(QMouseEvent *);
|
||||
void paintEvent(QPaintEvent *);
|
||||
|
||||
private:
|
||||
//! update the geometry
|
||||
void resetGeometry();
|
||||
//! initialize parameters to default values
|
||||
void init();
|
||||
//! draw the grid
|
||||
void drawGrid(int rows, int cols, Qt::GlobalColor color);
|
||||
|
||||
//! colwidth in pixels
|
||||
int colwidth_;
|
||||
//! rowheight in pixels
|
||||
int rowheight_;
|
||||
//! total rows
|
||||
int rows_;
|
||||
//! total cols
|
||||
int cols_;
|
||||
//! row of pointer
|
||||
int bottom_;
|
||||
//! column of pointer
|
||||
int right_;
|
||||
//! the lyxview we need to dispatch the funcrequest
|
||||
LyXView & lyxView_;
|
||||
//! widget under mouse
|
||||
bool underMouse_;
|
||||
};
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
||||
|
||||
#endif // INSERTTABLEWIDGET_H
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file InsertTableWidget.h
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Edwin Leuven
|
||||
*
|
||||
* Full author contact details are available in file CREDITS.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef INSERTTABLEWIDGET_H
|
||||
#define INSERTTABLEWIDGET_H
|
||||
|
||||
#include "frontends/LyXView.h"
|
||||
#include <QWidget>
|
||||
|
||||
namespace lyx {
|
||||
namespace frontend {
|
||||
|
||||
|
||||
class InsertTableWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
InsertTableWidget(LyXView &, QWidget *);
|
||||
|
||||
Q_SIGNALS:
|
||||
//! widget is visible
|
||||
void visible(bool);
|
||||
|
||||
public Q_SLOTS:
|
||||
//! show the widget
|
||||
void show(bool);
|
||||
//! enable/disable parent
|
||||
void updateParent();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void mouseMoveEvent(QMouseEvent *);
|
||||
void mouseReleaseEvent(QMouseEvent *);
|
||||
void mousePressEvent(QMouseEvent *);
|
||||
void paintEvent(QPaintEvent *);
|
||||
|
||||
private:
|
||||
//! update the geometry
|
||||
void resetGeometry();
|
||||
//! initialize parameters to default values
|
||||
void init();
|
||||
//! draw the grid
|
||||
void drawGrid(int rows, int cols, Qt::GlobalColor color);
|
||||
|
||||
//! colwidth in pixels
|
||||
int colwidth_;
|
||||
//! rowheight in pixels
|
||||
int rowheight_;
|
||||
//! total rows
|
||||
int rows_;
|
||||
//! total cols
|
||||
int cols_;
|
||||
//! row of pointer
|
||||
int bottom_;
|
||||
//! column of pointer
|
||||
int right_;
|
||||
//! the lyxview we need to dispatch the funcrequest
|
||||
LyXView & lyxView_;
|
||||
//! widget under mouse
|
||||
bool underMouse_;
|
||||
};
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
||||
|
||||
#endif // INSERTTABLEWIDGET_H
|
||||
|
Loading…
Reference in New Issue
Block a user