1. 26 Haz, 2015 14 kayıt (commit)
    • Stephan Bergmann's avatar
      loplugin:stringconstant: handle OUString+=OUString(literal) · 35c81431
      Stephan Bergmann yazdı
      Change-Id: I89536204943c0bb86ad9a7cf11050d040650078d
      35c81431
    • Stephan Bergmann's avatar
      loplugin:stringconstant: handle OUString+=OUString(literal) · a212bd0e
      Stephan Bergmann yazdı
      Change-Id: I55363639900450c9780dd187805ce0500f68a2f4
      a212bd0e
    • Stephan Bergmann's avatar
      loplugin:stringconstant: handle OUString+=OUString(literal) · d496ad9b
      Stephan Bergmann yazdı
      Change-Id: I5af9cc77f0329148925ac1b4f0de1df7634a7e08
      d496ad9b
    • Stephan Bergmann's avatar
      loplugin:stringconstant: OUStringLiteral1 can handle NUL literals just fine · 8fd802eb
      Stephan Bergmann yazdı
      Change-Id: I9b31b01a34a10d5bd329dccd39da83500d6fd2c7
      8fd802eb
    • Stephan Bergmann's avatar
      Add optimized OUString += literal overload · edc96a15
      Stephan Bergmann yazdı
      Change-Id: Ib34196185f90204a71598f2c659c3fddce7a0e4d
      edc96a15
    • Stephan Bergmann's avatar
      SAL_WARN_UNUSED_RESULT missing from some of the operator+ overloads · 1de776a4
      Stephan Bergmann yazdı
      Change-Id: I70acf02c36ced3ff19f424768f293f2221ef7af5
      1de776a4
    • Stephan Bergmann's avatar
      Unnecessary nested #ifdef LIBO_INTERNAL_ONLY · 9a850b80
      Stephan Bergmann yazdı
      Change-Id: I889aa10e0cb7b5779527e5ef2be5d707dd493e90
      9a850b80
    • Miklos Vajna's avatar
      SwTextFrm::Format: use vcl::RenderContext · 05e50b57
      Miklos Vajna yazdı
      Change-Id: I468d662a612c951dc1482cfc685dee800bb11f82
      05e50b57
    • Miklos Vajna's avatar
      SwTextFrm::_Format: use vcl::RenderContext · 6b88a650
      Miklos Vajna yazdı
      Change-Id: Ia37257286cce7a4a4a6fdffd2dd0d896d46db548
      6b88a650
    • Matthew J. Francis's avatar
      Python 2.7 compatibility for unotest.py · 3b251169
      Matthew J. Francis yazdı
      Change-Id: Ic7a54b211f6d55ff50cad0fde12058fe33e8892e
      3b251169
    • Katarina Behrens's avatar
      tdf#87905: Use darker background colour for master view · 1c481fe6
      Katarina Behrens yazdı
      for the area behind the slide, that is
      
      Change-Id: Ie020f43a81e5eaa257c20d0a7b6feffce1614205
      Reviewed-on: https://gerrit.libreoffice.org/16466Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarPhilippe Jung <phil.jung@free.fr>
      1c481fe6
    • Matthew J. Francis's avatar
      Make PyUNO provide more Pythonic behaviour · af8143bc
      Matthew J. Francis yazdı
      - Simplifies working with UNO objects by giving the behaviour of
      Python lists, dicts and iterators to objects which implement UNO
      container interfaces
      
      - Applies a custom behaviour to allow objects which implement
      com::sun::star::table::XCellRange to yield cells and cell ranges by
      subscript
      
      - When UNO container objects are addressed in the new style,
      eliminates the requirement to manually construct Any objects for
      contained elements which are typed sequences
      
      - Allows lists and iterators to be passed wherever a UNO method
      accepts a sequence
      
      - Relaxes the requirements for initialising UNO structs to allow
      some members to be skipped when all initialisers are passed by name
      
      1. Collection interfaces
      ========================
      
      Objects which implement core UNO collection interfaces are made to
      behave in a way that is more natural for Python code.
      
      com::sun::star::container::XIndexAccess
      com::sun::star::container::XIndexReplace
      com::sun::star::container::XIndexContainer
      - Objects provide Python list access semantics
          num = len(obj)              # Number of elements
          val = obj[0]                # Access by index
          val1,val2 = obj[2:4]        # Access by slice
          val1,val2 = obj[0:3:2]      # Access by extended slice
          if val in obj: ...          # Test value presence
          for val in obj: ...         # Implicit iterator (values)
          itr = iter(obj)             # Named iterator (values)
          obj[0] = val                # Replace by index
          obj[2:4] = val1,val2        # Replace by slice
          obj[0:3:2] = val1,val2      # Replace by extended slice
          obj[2:3] = val1,val2        # Insert/replace by slice
          obj[2:2] = (val,)           # Insert by slice
          obj[2:4] = (val,)           # Replace/delete by slice
          obj[2:3] = ()               # Delete by slice (implicit)
          del obj[0]                  # Delete by index
          del obj[2:4]                # Delete by slice
      
      com::sun::star::container::XNameAccess
      com::sun::star::container::XNameReplace
      com::sun::star::container::XNameContainer
      - Objects provide Python dict access semantics
          num = len(obj)              # Number of keys
          val = obj[key]              # Access by key
          if key in obj: ...          # Test key presence
          for key in obj: ...         # Implicit iterator (keys)
          itr = iter(obj)             # Named iterator (keys)
          obj[key] = val              # Replace by key
          obj[key] = val              # Insert by key
          del obj[key]                # Delete by key
      
      com::sun::star::container::XEnumerationAccess
      - Objects provide Python iterable semantics
          for val in obj: ...         # Implicit iterator
          itr = iter(obj)             # Named iterator
      
      com::sun::star::container::XEnumeration
      - Objects provide Python iterator semantics
          for val in itr: ...         # Iteration of named iterator
          if val in itr: ...          # Test value presence
      
      Objects which implement both XIndex* and XName* are supported, and
      respond to both integer and string keys. However, iterating over
      such an object will return the keys (like a Python dict) rather than
      the values (like a Python list).
      
      2. Cell ranges
      ==============
      
      A custom behaviour is applied to objects which implement
      com::sun::star::table::XCellRange to allow their cells and cell
      ranges to be addressed by subscript, in the style of a Python list
      or dict (read-only). This is applicable to Calc spreadsheet sheets,
      Writer text tables and cell ranges created upon these.
          cell = cellrange[0,0]       # Access cell by indices
          rng = cellrange[0,1:2]      # Access cell range by index,slice
          rng = cellrange[1:2,0]      # Access cell range by slice,index
          rng = cellrange[0:1,2:3]    # Access cell range by slices
          rng = cellrange['A1:B2']    # Access cell range by descriptor
          rng = cellrange['Name']     # Access cell range by name
      
      Note that the indices used are in Python/C order, and differ from
      the arguments to methods provided by XCellRange.
      - The statement cellrange[r,c], which returns the cell from row r
      and column c, is equivalent to calling
          XCellRange::getCellByPosition(c,r)
      - The statement cellrange[t:b,l:r], which returns a cell range
      covering rows t to b(non-inclusive) and columns l to r(non-
      inclusive), is equivalent to calling
          XCellRange::getCellRangeByPosition(l,t,r-1,b-1).
      
      In contrast to the handling of objects implementing XIndex*,
      extended slice syntax is not supported. Negative indices (from-end
      addresses) are supported only for objects which also implement
      com::sun::star::table::XColumnRowRange (currently Calc spreadsheet
      sheets and cell ranges created upon these). For such objects, the
      following syntax is also available:
          rng = cellrange[0]          # Access cell range by row index
          rng = cellrange[0,:]        # Access cell range by row index
          rng = cellrange[:,0]        # Access cell range by column index
      
      3. Elimination of explicit Any
      ==============================
      
      PyUNO has not previously been able to cope with certain method
      arguments which are typed as Any but require a sequence of specific
      type to be passed. This is a particular issue for container
      interfaces such as XIndexContainer and XNameContainer.
      
      The existing solution to dealing with such methods is to use a
      special method to pass an explicitly typed Any, giving code such as:
      
          index = doc.createInstance("com.sun.star.text.ContentIndex");
          ...
          uno.invoke( index.LevelParagraphStyles , "replaceByIndex",
                      (0, uno.Any("[]string", ('Caption',))) )
      
      The new Pythonic container access is able to correctly infer the
      expected type of the sequences required by these arguments. In the
      new style, the above call to .replaceByIndex() can instead be
      written:
      
          index.LevelParagraphStyles[0] = ('Caption',)
      
      4. List and iterator arguments
      ==============================
      
      Wherever a UNO API expects a sequence, a Python list or iterator can
      now be passed. This enables the use of list comprehensions and
      generator expressions for method calls and property assignments.
      
      Example:
      
          tbl = doc.createInstance('com.sun.star.text.TextTable')
          tbl.initialize(10,10)
          # ... insert table ...
          # Assign numbers 0..99 to the cells using a generator expression
          tbl.Data = ((y for y in range(10*x,10*x + 10)) for x in range(10))
      
      5. Tolerant struct initialisation
      =================================
      
      Previously, a UNO struct could be created fully uninitialised, or by
      passing a combination of positional and/or named arguments to its
      constructor. However, if any arguments were passed, all members were
      required to be initialised or an exception was thrown.
      This requirement is relaxed such that when all arguments passed to a
      struct constructor are by name, some may be omitted. The existing
      requirement that all members must be explicitly initialised when
      some constructor arguments are unnamed (positional) is not affected.
      
      Example:
      
          from com.sun.star.beans import PropertyValue
          prop = PropertyValue(Name='foo', Value='bar')
      
      Change-Id: Id29bff10a18099b1a00af1abee1a6c1bc58b3978
      Reviewed-on: https://gerrit.libreoffice.org/16272Tested-by: 's avatarJenkins <ci@libreoffice.org>
      Reviewed-by: 's avatarMatthew Francis <mjay.francis@gmail.com>
      af8143bc
    • Miklos Vajna's avatar
      tdf#89890 DOCX import: fix too large num pic bullet · eab89b7f
      Miklos Vajna yazdı
      Reading SwWW8ImplReader::CoreLoad()'s "update graphic bullet
      information" block, it turns out that the numbering picture bullet's
      height should be independent from the supplied bitmap, and only its
      aspect ratio should be respected.
      
      Change-Id: I1300aa0397a8098df2a3170af795fbba47fd2a9e
      Reviewed-on: https://gerrit.libreoffice.org/16500Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
      Tested-by: 's avatarJenkins <ci@libreoffice.org>
      eab89b7f
    • Takeshi Abe's avatar
      no need to capture _rTables · 63384060
      Takeshi Abe yazdı
      Change-Id: I78b4051ffdb625481b238cc3a5313aa4d086b87e
      63384060
  2. 25 Haz, 2015 26 kayıt (commit)