Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/AbiWordActivity.py
blob: 243fc9dae6404b29ba8a36b94acd5f24c6413780 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Copyright (C) 2006 by Martin Sevior
# Copyright (C) 2006-2007 Marc Maurer <uwog@uwog.net>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

import logging
import os
import time

import gobject
import hippo

from sugar.activity import activity
from sugar.datastore import datastore
from sugar.datastore.datastore import Text
from sugar import profile
from abiword import Canvas

from toolbar import AbiToolbar

class AbiWordActivity (activity.Activity):

    def __init__ (self, handle):
        activity.Activity.__init__ (self, handle)
        self.set_title ("Write")

        self._journal_handle = None
        self._last_saved_text = None
        os.chdir(os.path.expanduser("~"))

        hippoCanvasBox = hippo.CanvasBox()
        self.set_root(hippoCanvasBox)

        # create our main abiword canvas
        self.abiword_canvas = Canvas()

        # create and add a toolbar for our window, which listens to our canvas
        abiToolbar = AbiToolbar(hippoCanvasBox, self.abiword_canvas)

        # create a hippo container to embed our canvas in
        abiwordCanvasContainer = hippo.CanvasWidget()
        abiwordCanvasContainer.props.widget = self.abiword_canvas

        # add the controls to our window
        hippoCanvasBox.append(abiwordCanvasContainer, hippo.PACK_EXPAND)

        if handle.uri:
            self.abiword_canvas.load_file(handle.uri)
        else:
            # open a blank file
            self.abiword_canvas.load_file("")

        self.abiword_canvas.show()