home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Bureautique / LibreOffice / LibreOffice_4.3.5_Win_x86.msi / TOCPreview.py < prev    next >
Text File  |  2014-05-25  |  3KB  |  64 lines

  1. #
  2. # This file is part of the LibreOffice project.
  3. #
  4. # This Source Code Form is subject to the terms of the Mozilla Public
  5. # License, v. 2.0. If a copy of the MPL was not distributed with this
  6. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  7. #
  8. # This file incorporates work covered by the following license notice:
  9. #
  10. #   Licensed to the Apache Software Foundation (ASF) under one or more
  11. #   contributor license agreements. See the NOTICE file distributed
  12. #   with this work for additional information regarding copyright
  13. #   ownership. The ASF licenses this file to you under the Apache
  14. #   License, Version 2.0 (the "License"); you may not use this file
  15. #   except in compliance with the License. You may obtain a copy of
  16. #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  17. #
  18. from .Process import Process
  19. from ..ui.event.Task import Task
  20. from ..common.FileAccess import FileAccess
  21. from ..common.Properties import Properties
  22. from ..common.Desktop import Desktop
  23. from ..common.UCB import UCB
  24.  
  25. # This class both copies necessary files to
  26. # a temporary directory, generates a temporary TOC page,
  27. # and opens the generated html document in a web browser,
  28. # by default "index.html" (unchangeable).
  29. # <br/>
  30. # Since the files are both static and dynamic (some are always the same,
  31. # while other change according to user choices)
  32. # I divide this tasks to two: all necessary
  33. # static files, which should not regularly update are copied upon
  34. # instanciation.
  35. # The TOC is generated in refresh(...);
  36.  
  37. class TOCPreview:
  38.  
  39.     def __init__(self, xmsf_, settings, res, tempDir_, _xFrame):
  40.         self.xFrame = _xFrame
  41.         self.xmsf = xmsf_
  42.         self.resources = res
  43.         self.fileAccess = FileAccess(self.xmsf)
  44.         self.tempDir = tempDir_
  45.         self.loadArgs = self.loadArgs(FileAccess.connectURLs(self.tempDir, "/index.html"))
  46.         self.openHyperlink = Desktop.getDispatchURL(self.xmsf, ".uno:OpenHyperlink")
  47.         self.xDispatch = Desktop.getDispatcher(self.xmsf, self.xFrame, "_top", self.openHyperlink)
  48.         self.ucb = UCB(self.xmsf)
  49.  
  50.         Process.copyStaticImages(self.ucb, settings, self.tempDir)
  51.  
  52.     def refresh(self, settings):
  53.         doc = settings.cp_DefaultSession.createDOM1()
  54.         layout = settings.cp_DefaultSession.getLayout()
  55.         task = Task("", "", 10000);
  56.         Process.generate1(self.xmsf, layout, doc, self.fileAccess, self.tempDir, task)
  57.         Process.copyLayoutFiles(self.ucb, self.fileAccess, settings, layout, self.tempDir)
  58.         self.xDispatch.dispatch(self.openHyperlink, tuple(self.loadArgs))
  59.  
  60.     def loadArgs(self, url):
  61.         props = Properties()
  62.         props["URL"] = url
  63.         return props.getProperties1()
  64.