Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kumir2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
kumir
kumir2
Commits
23eba06c
Commit
23eba06c
authored
Aug 14, 2013
by
Victor Yacovlev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Help viewer: non-empty default start page
parent
9000785e
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
60 additions
and
10 deletions
+60
-10
src/shared/docbookviewer/contentrenderer.h
src/shared/docbookviewer/contentrenderer.h
+1
-0
src/shared/docbookviewer/contentview.cpp
src/shared/docbookviewer/contentview.cpp
+39
-6
src/shared/docbookviewer/contentview.h
src/shared/docbookviewer/contentview.h
+3
-3
src/shared/docbookviewer/docbookview_impl.cpp
src/shared/docbookviewer/docbookview_impl.cpp
+3
-0
src/shared/docbookviewer/printrenderer.cpp
src/shared/docbookviewer/printrenderer.cpp
+10
-0
src/shared/docbookviewer/printrenderer.h
src/shared/docbookviewer/printrenderer.h
+1
-0
userdocs/language/index.xml
userdocs/language/index.xml
+1
-0
userdocs/system.xml
userdocs/system.xml
+2
-1
No files found.
src/shared/docbookviewer/contentrenderer.h
View file @
23eba06c
...
...
@@ -10,6 +10,7 @@ typedef QSharedPointer<class DocBookModel> ModelPtr;
class
ContentRenderer
{
public:
virtual
bool
isEmpty
()
const
=
0
;
virtual
void
reset
()
=
0
;
virtual
void
renderData
(
ModelPtr
data
)
=
0
;
};
...
...
src/shared/docbookviewer/contentview.cpp
View file @
23eba06c
...
...
@@ -39,12 +39,17 @@ void ContentView::reset()
clear
();
}
bool
ContentView
::
isEmpty
()
const
{
return
toPlainText
().
trimmed
().
isEmpty
();
}
void
ContentView
::
renderData
(
ModelPtr
data
)
{
ModelPtr
dataToRender
=
onePageParentModel
(
data
);
if
(
dataToRender
!=
loadedModel_
)
{
loadedModel_
=
dataToRender
;
const
QString
html
=
wrapHTML
(
render
(
dataToRender
));
const
QString
html
=
wrapHTML
(
render
Model
(
dataToRender
));
setHtml
(
html
);
}
if
(
dataToRender
!=
data
)
{
...
...
@@ -112,6 +117,9 @@ QString ContentView::wrapHTML(const QString &body) const
" margin: 30;"
" font-style: italic;"
"}"
".subtitle {"
" font-size: "
+
MainFontSize
+
";"
"}"
"body {"
" font-family: "
+
MainFontFamily
+
";"
" font-size: "
+
MainFontSize
+
";"
...
...
@@ -132,10 +140,12 @@ QString ContentView::wrapHTML(const QString &body) const
"<body>
\n
"
+
body
+
"
\n
</body></html>"
;
}
QString
ContentView
::
render
(
ModelPtr
data
)
const
QString
ContentView
::
render
Model
(
ModelPtr
data
)
const
{
if
(
data
->
modelType
()
==
DocBookModel
::
Set
||
data
->
modelType
()
==
DocBookModel
::
Book
)
if
(
data
->
modelType
()
==
DocBookModel
::
Set
)
{
return
renderSet
(
data
);
}
else
if
(
data
->
modelType
()
==
DocBookModel
::
Book
)
{
return
renderTOC
(
data
);
}
...
...
@@ -1301,14 +1311,17 @@ QString ContentView::renderTOC(ModelPtr data) const
else
title
=
tr
(
"List of algorithms of module
\"
%1
\"
"
).
arg
(
data
->
title
());
}
else
if
(
data
==
DocBookModel
::
Book
||
data
==
DocBookModel
::
Article
)
{
title
=
data
->
title
();
}
else
{
title
=
sectionNumber
(
data
)
+
" "
+
data
->
title
();
}
result
+=
"<h1 class='title' align='center'>"
+
normalizeText
(
title
)
+
"</h1>
\n
"
;
if
(
data
->
subtitle
().
length
()
>
0
)
{
result
+=
"<
h1
class='subtitle' align='center'>"
+
result
+=
"<
p
class='subtitle' align='center'>"
+
normalizeText
(
data
->
subtitle
())
+
"</
h1
>
\n
"
;
"</
p
>
\n
"
;
}
result
+=
"<hr/>
\n
"
;
foreach
(
ModelPtr
child
,
data
->
children
())
{
...
...
@@ -1318,6 +1331,26 @@ QString ContentView::renderTOC(ModelPtr data) const
return
result
;
}
QString
ContentView
::
renderSet
(
ModelPtr
data
)
const
{
QString
result
;
const
QString
&
title
=
data
->
title
();
result
+=
"<h1 class='title' align='center'>"
+
title
+
"</h1>
\n
"
;
foreach
(
ModelPtr
child
,
data
->
children
())
{
const
quintptr
dataPtr
=
quintptr
(
child
.
toWeakRef
().
data
());
QByteArray
buffer
;
QDataStream
ds
(
&
buffer
,
QIODevice
::
WriteOnly
);
ds
<<
dataPtr
;
const
QString
href
=
QString
::
fromAscii
(
"model_ptr:"
)
+
QString
::
fromAscii
(
buffer
.
toHex
());
result
+=
"<p align=
\"
left
\"
><a href=
\"
"
+
href
+
"
\"
>"
+
child
->
title
()
+
"</a></p>
\n
"
;
result
+=
"<p margin='10' align='left'>"
+
child
->
subtitle
()
+
"</p>"
;
}
return
result
;
}
QString
ContentView
::
renderTOCElement
(
ModelPtr
data
,
quint8
level
,
bool
enumerate
)
const
{
const
quintptr
dataPtr
=
quintptr
(
data
.
toWeakRef
().
data
());
...
...
src/shared/docbookviewer/contentview.h
View file @
23eba06c
...
...
@@ -20,7 +20,7 @@ class ContentView
Q_OBJECT
public:
explicit
ContentView
(
QWidget
*
parent
);
bool
isEmpty
()
const
;
void
reset
();
void
renderData
(
ModelPtr
data
);
QSize
minimumSizeHint
()
const
;
...
...
@@ -33,9 +33,9 @@ private:
void
wheelEvent
(
QWheelEvent
*
e
);
QString
wrapHTML
(
const
QString
&
body
)
const
;
QString
render
(
ModelPtr
data
)
const
;
QString
render
Model
(
ModelPtr
data
)
const
;
QString
renderElement
(
ModelPtr
data
)
const
;
QString
renderSet
(
ModelPtr
data
)
const
;
QString
renderChapter
(
ModelPtr
data
)
const
;
QString
renderArticle
(
ModelPtr
data
)
const
;
QString
renderAbstract
(
ModelPtr
data
)
const
;
...
...
src/shared/docbookviewer/docbookview_impl.cpp
View file @
23eba06c
...
...
@@ -240,6 +240,9 @@ Document DocBookViewImpl::addDocument(const QUrl &url, QString *error, int index
DocBookFactory
*
factory
=
DocBookFactory
::
self
();
Document
doc
=
factory
->
parseDocument
(
url
,
error
);
sidePanel_
->
addDocument
(
doc
);
if
(
content_
->
isEmpty
())
{
content_
->
renderData
(
doc
.
root_
);
}
return
doc
;
}
...
...
src/shared/docbookviewer/printrenderer.cpp
View file @
23eba06c
...
...
@@ -11,6 +11,16 @@ PrintRenderer::PrintRenderer()
baseFont_
=
fontDatabase
.
font
(
"serif"
,
"regular"
,
12
);
}
bool
PrintRenderer
::
isEmpty
()
const
{
return
pagesCount
()
==
0
;
}
int
PrintRenderer
::
pagesCount
()
const
{
return
pages_
.
size
();
}
PrintRenderer
*
PrintRenderer
::
self
()
{
static
PrintRenderer
*
instance
=
new
PrintRenderer
();
...
...
src/shared/docbookviewer/printrenderer.h
View file @
23eba06c
...
...
@@ -15,6 +15,7 @@ class PrintRenderer
{
public:
static
PrintRenderer
*
self
();
bool
isEmpty
()
const
;
void
reset
();
void
renderData
(
ModelPtr
data
);
void
setBaseFont
(
QFont
font
);
...
...
userdocs/language/index.xml
View file @
23eba06c
...
...
@@ -4,6 +4,7 @@
[]>
<book
xmlns=
"http://www.oasis-open.org/docbook/xml/4.5/"
xmlns:xi=
"http://www.w3.org/2001/XInclude"
>
<title>
Язык Кумир
</title>
<subtitle>
Описание русского алгоритмического языка программирования
</subtitle>
<xi:include
href=
"structure.xml"
/>
<xi:include
href=
"indentifiers.xml"
/>
<xi:include
href=
"simple_commands.xml"
/>
...
...
userdocs/system.xml
View file @
23eba06c
<?xml version='1.0' encoding='UTF-8'?>
<!
-- This document was created with Syntext Serna Free. -->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "docbookV
4.5/docbookx.dtd" []>
<!
DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/
4.5/docbookx.dtd" []>
<book>
<title>
Руководство пользователя
</title>
<subtitle>
Описание пользовательского интерфейса системы Кумир
</subtitle>
<preface/>
<chapter>
<title>
Обзор системы Кумир
</title>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment