Class: CooCoo::DataSources::Xournal::Document

Inherits:
Object
  • Object
show all
Defined in:
lib/coo-coo/data_sources/xournal/document.rb

Overview

The root of a Xournal document. Each document contains multiple pages which contain layers with actual ink strokes, text, and images.

More information on what is allowed can be found at: http://xournal.sourceforge.net/manual.html#file-format

Constant Summary collapse

VERSION =
'0.4.8'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(title = "Untitled Document", version = VERSION) {|_self| ... } ⇒ Document

Returns a new instance of Document.

Yields:

  • (_self)

Yield Parameters:



18
19
20
21
22
23
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 18

def initialize(title = "Untitled Document", version = VERSION)
  @title = title
  @version = version
  @pages = Array.new
  yield(self) if block_given?
end

Instance Attribute Details

#pagesObject (readonly)

Returns the value of attribute pages.



16
17
18
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 16

def pages
  @pages
end

#titleObject

Returns the value of attribute title.



14
15
16
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 14

def title
  @title
end

#versionObject

Returns the value of attribute version.



15
16
17
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 15

def version
  @version
end

Instance Method Details

#add_page(page) ⇒ Object



25
26
27
28
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 25

def add_page(page)
  @pages << page
  self
end

#delete_page(page) ⇒ Object



35
36
37
38
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 35

def delete_page(page)
  @pages.delete(page)
  self
end

#delete_page_at(page_num) ⇒ Object



30
31
32
33
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 30

def delete_page_at(page_num)
  @pages.delete_at(page_num)
  self
end

#each_page(&block) ⇒ Object



40
41
42
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 40

def each_page(&block)
  @pages.each(&block)
end

#save(*args) ⇒ Object



48
49
50
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 48

def save(*args)
  Saver.save(self, *args)
end

#sizeObject



44
45
46
# File 'lib/coo-coo/data_sources/xournal/document.rb', line 44

def size
  @pages.size
end