Skip to content

Commit

Permalink
The Users's Guide has been updated.
Browse files Browse the repository at this point in the history
  • Loading branch information
uvemas committed May 24, 2017
1 parent 7d88bd1 commit 6b82113
Show file tree
Hide file tree
Showing 18 changed files with 544 additions and 768 deletions.
2 changes: 2 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
ViTables ChangeLog
==================
** May 24, 2017 **
The Users' Guide has been updated.

Some .txt files have been updated.

Calls to str(object, 'UTF-8') have been removed.
Expand Down
6 changes: 3 additions & 3 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = []

# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
Expand Down Expand Up @@ -171,7 +171,7 @@
# -- Options for LaTeX output --------------------------------------------------

# The paper size ('letter' or 'a4').
latex_paper_size = 'a4'
# latex_paper_size = 'a4'

# The font size ('10pt', '11pt' or '12pt').
#latex_font_size = '10pt'
Expand All @@ -183,7 +183,7 @@
'Vicent Mas', 'manual'),
]

latex_elements = {'babel': '\\usepackage[english]{babel}', 'classoptions': ', openany'}
latex_elements = {'babel': '\\usepackage[english]{babel}', 'classoptions': ', openany', 'papersize': 'a4'}

# The name of an image file (relative to this directory) to place at the top of
# the title page.
Expand Down
Binary file modified doc/images/browseDataset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/editingUserAttrs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/groupCreation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/mainWindow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/newFilteredTable.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/propertiesDlg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/treeSymbols.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/images/zoomingCells.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 27 additions & 27 deletions doc/posterIcons.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-

# Copyright (C) 2005, 2006, 2007 Carabos Coop. V. All rights reserved
# Copyright (C) 2008, 2017 Vicent Mas. All rights reserved
# Copyright (C) 2008-2017 Vicent Mas. All rights reserved
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Expand All @@ -23,13 +23,13 @@
#
import sys

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qtpy import QtGui
from qtpy import QtWidgets

iconsDir = '/home/vmas/ViTables/hg_branches/vitables_tip/vitables/icons/'
ICONSDIR = '../vitables/icons/'
big_icons = [('file_rw', 'The root node (read-write)'),
('file_ro', 'The root node (read-only)'),
('dbfilters', 'The root node of the Query Results file'),
('dbfilters', 'The root node of the Query Results file '),
('folder', 'A collapsed group '),
('document-open-folder', 'An expanded group ')]
small_icons = [('table', 'A table (heterogeneus dataset) '),
Expand All @@ -38,47 +38,47 @@
('carray', 'A compressed array'),
('vlarray', 'A variable length array'),
('vlstring', 'An array of VLStrings'),
('link_table', 'A soft link to a table (heterogeneus dataset) '),
('link_array', 'A soft link to a regular array (homogeneus dataset) '),
('link_earray', 'A soft link to an enlargeable array'),
('link_carray', 'A soft link to a compressed array'),
('link_vlarray', 'A soft link to a variable length array'),
('object', 'A serialized objects dataset'),
('image-missing', 'An unsupported dataset')]

class Poster(QMainWindow) :
def __init__(self, *args) :
apply(QMainWindow.__init__, (self,) + args)
w = QWidget(self)
l = QGridLayout(w)
class Poster(QtWidgets.QMainWindow) :
def __init__(self) :
super(QtWidgets.QMainWindow, self).__init__()
w = QtWidgets.QWidget(self)
l = QtWidgets.QGridLayout(w)
self.setCentralWidget(w)
self.makePoster()


def changePalette(self, widget):
palette = QPalette()
self.palette().setColor(widget.backgroundRole(), Qt.white)
widget.setPalette(palette)


def makePoster(self):
widget = self.centralWidget()
layout = widget.layout()
r = 0
iconsDict = {'big_icons': big_icons, 'small_icons': small_icons}
c = 0
iconsDict = {'22x22': big_icons, '16x16': small_icons}
for key in iconsDict.keys():
for (name, caption) in iconsDict[key] :
pixmap = QPixmap()
image_path = '%s/%s.png' % ("%s%s" % (iconsDir, key), name)
print image_path
pixmap = QtGui.QPixmap()
image_path = '{0}/{1}/{2}.png'.format(ICONSDIR, key, name)
pixmap.load(image_path)
imLabel = QLabel(widget)
imLabel = QtWidgets.QLabel(widget)
imLabel.setPixmap(pixmap)
self.changePalette(imLabel)
layout.addWidget(imLabel, r, 0, 1, 1)
textLabel = QLabel(caption,widget)
self.changePalette(textLabel)
layout.addWidget(textLabel, r, 1, 1, 1)
layout.addWidget(imLabel, r, c, 1, 1)
textLabel = QtWidgets.QLabel(caption,widget)
layout.addWidget(textLabel, r, c + 1, 1, 1)
r = r + 1
if r > 8:
r = 0
c = 2


def main(args) :
app = QApplication(args)
app = QtWidgets.QApplication(args)
poster = Poster()
poster.show()
app.exec_()
Expand Down
86 changes: 40 additions & 46 deletions doc/usersguide-app1.rst
Original file line number Diff line number Diff line change
@@ -1,46 +1,40 @@

.. raw:: pdf
PageBreak appendixPage
.. _appendix-a:

About Plugins
=============

Since version 2.1 *ViTables* has a simple but powerful plugins framework.

If you are interested in writing plugins the next paragraphs can be of utility. If not you can skip to the list of available plugins.

Plugins live in the plugins subdirectory of the root directory where the source code is installed. A plugin can be a pure Python module
or can have a package structure (i.e. a directory with a :mod:`__init__.py` file). Packages can have as many directories as you want but
plugins must be located at top level of the package.

The use of contracts is not enforced when writing plugins so you have nearly complete freedom for writing them. Nevertheless a plugin must
declare the following variables. :const:`plugin_class` which is set to the name of the class invoqued when your plugin is executed by *ViTables*,
:const:`plugin_name` which is set to the descriptive name of the plugin and will be used in the Plugins page of the Preferences dialog and,
finally, :const:`comment` which is set to a short description of the plugin and will be used too in the Plugins page of the Preferences dialog.

In some cases it can be useful to use convenience variables or methods. For instance, suppose than in the Preferences dialog you want to show a
more complete description of your plugin that that provided by the :const:`comment` variable. Then you may be interested in define a method
:meth:`!helpAbout` in your plugin.

Of course some knowledge (not necessarily a deep one) of the *ViTables* code is required in order to bind your plugin to the application core.
This task is commonly achieved via the menu bar of the main window or via the signals/slots mechanism (convenience signals can be defined in
the application if needed).

If you need more help just send an email to developers or ask to the *ViTables* Users' Group.

Three plugins are currently distributed along with the application:

Time series
formats time series in a human friendly way. It supports PyTables time datatypes and PyTables time series created via scikits.timeseries
module. The format used for displaying times can be configured by user via the Preferences dialog or editing by hand the
:file:`time_format.ini` configuration file.

Import CSV
provides import capabilities from :abbr:`CSV` files into PyTables datasets.

Export CSV
provides export capabilities of PyTables datasets to :abbr:`CSV` files.

.. raw:: pdf
PageBreak appendixPage
.. _appendix-a:

About Plugins
+++++++++++++

Since version 2.1 `ViTables` has a simple but powerful plugins framework.

If you are interested in writing plugins the next paragraphs can be of utility. If not you can skip to the list of available plugins.

Plugins live in the plugins subdirectory of the root directory where the source code is installed. A plugin can be a pure Python module or can have a package structure (i.e. a directory with a :mod:`__init__.py` file). Packages can have as many directories as you want but plugins must be located at top level of the package.

The use of contracts is not enforced when writing plugins so you have nearly complete freedom for writing them. Nevertheless a plugin must declare the following variables. :const:`plugin_class` which is set to the name of the class invoqued when your plugin is executed by `ViTables`,
:const:`plugin_name` which is set to the descriptive name of the plugin and will be used in the Plugins page of the Preferences dialog and, finally, :const:`comment` which is set to a short description of the plugin and will be used too in the Plugins page of the Preferences dialog.

In some cases it can be useful to use convenience variables or methods. For instance, suppose than in the Preferences dialog you want to show a more complete description of your plugin that that provided by the :const:`comment` variable. Then you may be interested in define a method :meth:`helpAbout` in your plugin.

Of course some knowledge (not necessarily a deep one) of the `ViTables` code is required in order to bind your plugin to the application core. This task is commonly achieved via the menu bar of the main window or via the signals/slots mechanism (convenience signals can be defined in the application if needed).

If you need more help just send an email to developers or ask to the `ViTables` Users' Group.

Five plugins are currently distributed along with the application:

Time series formatter
formats time series in a human friendly way. It supports PyTables time datatypes and PyTables time series created via `pandas <http://pandas.pydata.org>`_ or the obsolete scikits.timeseries module. The format used for displaying times can be configured by user via the Preferences dialog or editing by hand the :file:`time_format.ini` configuration file.

CSV Importer
provides import capabilities from `CSV` files into PyTables datasets.

CSV Exporter
provides export capabilities of PyTables datasets to `CSV` files.

Tree of DBs sorting
sorts the display of the databases tree.

Columnar organization of arrays
rearranges several arrays with the same number of rows and displays them in a unique widget.
54 changes: 24 additions & 30 deletions doc/usersguide-app2.rst
Original file line number Diff line number Diff line change
@@ -1,30 +1,24 @@
The Help Browser
================

*ViTables* comes with its own
fully-integrated documentation browser. It allows the
*ViTables* User's Guide to be browsed without
leaving the current working session and without opening external
applications. You can start the browser issuing the
:menuselection:`Help --> User's Guide`
command or from the toolbar.

The help browser is a small HTML browser for
*local* documents. Despite its small size it exhibits
some nice features

- bookmarks

- session history

- easy document navigation through navigation buttons

A nice feature of bookmarks is that they can be navigated while they are being edited with the Bookmarks
Editing dialog. Simply double click on a bookmark and it will be displayed in the browser.

.. _help-browser:
.. figure:: images/helpBrowser.png
:width: 80%

The Users' Guide browser

The Help Browser
++++++++++++++++

`ViTables` comes with its own fully-integrated documentation browser. It allows the `ViTables` User's Guide to be browsed without leaving the current working session and without opening external applications. You can start the browser issuing the
:menuselection:`Help --> User's Guide` command or from the toolbar.

The help browser is a small HTML browser for *local* documents. Despite its small size it exhibits some nice features

- bookmarks

- session history

- easy document navigation through navigation buttons

A nice feature of bookmarks is that they can be navigated while they are being edited with the Bookmarks Editing dialog. Simply double click on a bookmark and it will be displayed in the browser.

.. _help-browser:
.. figure:: images/helpBrowser.png
:width: 80%
:align: center
:figclass: align-center

The Users' Guide browser

Loading

0 comments on commit 6b82113

Please sign in to comment.