• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

LICENSES/H03-May-2022-

cmake/H29-Mar-2021-455400

core/H03-May-2022-16,94410,839

designer/H03-May-2022-486308

doc/H03-May-2022-1,2551,081

gui/H03-May-2022-19,02012,375

kasten/H03-May-2022-63,37743,260

libs/H03-May-2022-25,78215,307

mimetypes/H03-May-2022-314283

parts/H03-May-2022-1,067780

po/H29-Mar-2021-254,948216,458

program/H03-May-2022-1,5251,290

ChangeLogH A D29-Mar-202113.9 KiB289261

Mainpage.doxH A D29-Mar-2021156 126

READMEH A D29-Mar-20212.1 KiB6345

README.developersH A D29-Mar-20211,001 4226

README.packagersH A D29-Mar-20212 KiB6039

TODOH A D29-Mar-20218.3 KiB165157

README

1Okteta project
2===================
3made within the KDE community.
4
5Copyright: 2003-2012 Friedrich W. H. Kossebau <kossebau@kde.org>
6
7Author/Maintainer: Friedrich W. H. Kossebau <kossebau@kde.org>
8
9
10Overview
11--------
12This directory holds the files of the Okteta project. This project is about
13viewing and editing of data on the byte level.
14
15It is divided into three parts, the first two are for developing and the last
16one for users:
17* basic libraries offering Qt-based classes for viewing/editing bytearrays
18* Okteta elements for the Kasten framework
19* program Okteta and Okteta KPart
20
21The basic libraries, liboktetacore and liboktetagui, contain the classic simple
22Qt/KDE widgets/classes others want to reuse in their code by linking to these
23libraries. Additionally there is a Qt Designer plugin for the two Okteta widgets
24from liboktetagui. This part is spread over the subdirs core/, gui/, and
25designer/.
26
27The Okteta elements for the Kasten framework are specific Okteta classes for
28building programs and plugins with the Kasten framework. The elements are
29divided into the libraries liboktetakastencore, liboktetakastengui, and
30liboktetakastencontroller, all found in the subdir kasten/.
31The foundation of the framework Kasten itself is currently found within the
32Okteta sources, in the subdirectory libs/kasten/.
33
34The end-user products are the stand-alone program also named Okteta and a KPart
35useable e.g. for Konqueror. These are in the subdirs program/ and parts/.
36
37
38What to find in which subdirectory:
39--------------------------------
40core:
41  core library for Qt-based bytearray viewer/editor widgets, liboktetacore
42
43gui:
44  gui library for QWidget-based bytearray viewer/editor widgets, liboktetagui
45
46designer:
47  plugin for Qt Designer to add support for widgets from the Okteta gui library
48
49kasten:
50  Okteta elements for the Kasten framework (currently found in libs/kasten)
51
52parts:
53  collection of plugins based on the Okteta libraries
54
55parts/kpart:
56  plugin of the type KPart::ReadWritePart, with BrowserExtension
57
58program:
59  a standalone hex editor program, based on the Kasten framework
60
61libs:
62  neutral utility libs and frameworks, useful outside Okteta, e.g. Kasten
63

README.developers

1Okteta and the framework Kasten is designed in a very modular way, with a lot
2of interfaces. So it should be easily extendable. While there isn't yet a real
3plugin system, new plugins/modules can be simply added directly in the code for now.
4
5Find below a list of places where Okteta can be extended:
6
7= Basic Okteta libraries ======================
8
9_AbstractByteArrayModel___
10Not yet documented
11
12_CharCodec/ValueCodec___
13Not yet documented
14
15
16= Okteta Kasten elements ======================
17
18_Binary Filter___
19See kasten/controllers/view/libbytearrayfilter/README.developers
20
21_Checksum/Hashsum___
22See kasten/controllers/view/libbytearraychecksum/README.developers
23
24_Encoder (for Export)___
25Not yet documented
26
27
28= Kasten framework ============================
29
30_AbstractModel/AbstractDocument/AbstractSynchronizer___
31Not yet documented
32
33_AbstractView___
34Not yet documented
35
36_AbstractXmlGuiController___
37Not yet documented
38
39_AbstractTool/AbstractTool(Inline)View___
40Not yet documented
41
42and some more...

README.packagers

1PACKAGING RECOMMENDATIONS
2-------------------------
3
4You might want to create 4 basic sub-packages from a build of the Okteta
5sources with all features enabled, besides the devel-packages.
6
7
81. Okteta libraries for QWidget-based hex editing widgets
9
10LibOktetaCore and LibOktetaGui provide classes to have hex editing/viewing
11QWidgets in Qt-based applications, similar to what is possible with QTextEdit
12& QTextDocument.
13Supplemented with a Qt Designer plugin for the Okteta widgets.
14
15Proposed package description: "Hex editor/viewer QWidgets libraries"
16
17
182. Kasten libraries
19
20Kasten is a WIP higher-level framework for composable document-centric
21applications. LibKastenCore, LibKastenGui & LibKastenControllers are the
22generic libraries. Due to its development state its still part of Okteta
23sources and not used in other published software AFAIK. Except for KDevelop,
24whose hex editor plugin is done using the Okteta Kasten libraries and
25therefore also Kasten libraries.
26
27So for now it makes sense to simply bundle both the generic Kasten libraries
28with the Okteta specific Kasten libraries, LibOktetaKastenCore,
29LibOktetaKastenGui, & LibOktetaKastenControllers.
30
31All the data files for the Structures tool belong also to this, as well as the
32s-m-i extension file.
33
34Known public user of these libs:
35* KDevelop for the hex editor plugin
36
37Proposed package description: "High-level hex editor/viewer framework libraries"
38Needs: 1.)
39
40
413. Okteta app
42
43The actual hex editor program itself.
44
45Proposed package description: "Editor for the raw data of files"
46(please fix ancient package descriptions "editor for binary files" as this a bit wrongly limiting)
47Needs: 1.) 2.)
48(does _not_ use 4,)
49
50
514. KParts plugin
52
53The oktetapart is a plugin for the KParts system. While KParts usage having
54declined in Qt5/KF5 era, at least Krusader makes explicit use of the plugin,
55other KParts software can get it when requesting a viewer for the MIME/media
56type application/octet-stream.
57
58Proposed package description: "Hex editing component for KParts"
59Needs: 1.) 2.)
60