+++
title = "Propiedades"
weight = 1
+++

#### Propiedades comúnes a todos los documentos.

### obj

**Solo lectura**. Devolver el objeto original pyUNO.

```python
doc = app.active
app.debug(type(doc))
app.debug(type(doc.obj))
```

```
18/08/2022 21:59:05 - DEBUG - <class 'easymacro.easycalc.LOCalc'>
18/08/2022 21:59:05 - DEBUG - <class 'pyuno'>
```


### title

Título del documento.

```python
doc = app.active
app.debug(doc.title)
doc.title = 'Nuevo Titulo'
app.debug(doc.title)
```


### type

**Solo lectura**. Devolver el tipo de documento: calc, writer, etc.

```python
doc = app.active
app.debug(doc.type)
```


### uid

**Solo lectura**. Devolver el valor interno RuntimeUID del documento.

```python
doc = app.active
app.debug(doc.uid)
```


### is_saved

**Solo lectura**. Si el documento ya ha sido guardado en disco.

```python
doc = app.active
app.debug(doc.is_saved)
```

### is_modified

**Solo lectura**. Si el documento ha sido modificado.

```python
doc = app.active
app.debug(doc.is_modified)
```


### is_read_only

**Solo lectura**. Si el documento es de solo lectura.

```python
doc = app.active
app.debug(doc.is_read_only)
```


### path

**Solo lectura**. Devolver la ruta en disco del documento.

```python
doc = app.active
app.debug(doc.path)
```


### dir

**Solo lectura**. Devolver solo el directorio de la ruta en disco del documento.

```python
doc = app.active
app.debug(doc.dir)
```


### file_name

**Solo lectura**. Devolver el nombre con extensión de la ruta del documento.

```python
doc = app.active
app.debug(doc.file_name)
```


### name

**Solo lectura**. Devolver el nombre sin extensión de la ruta del documento.

```python
doc = app.active
app.debug(doc.name)
```


### visible

Ocultar o mostrar un documento.

```python
doc = app.active
doc.visible = False
app.msgbox(doc.visible)
doc.visible = True
```

{{% notice tip %}}
No es necesario que el documento este visible para manipularse.
{{% /notice %}}


### zoom

Devolver o establecer el porcentaje de zoom del documento.

```python
doc = app.active
zoom = doc.zoom
app.msgbox(zoom)
doc.zoom = zoom * 2
app.msgbox(doc.zoom)
doc.zoom = zoom
```

### status_bar

Controlar la barra de estado, es importante siempre actualizar en otro hilo.

```python
@app.run_in_thread
def controlar_barra_estado(sb, texto, limite):
    sb.start(texto, limite)
    for i in range(limite):
        sb.setValue(i)
        app.sleep(1)
    sb.end()
    return

def main():
    doc = app.active
    controlar_barra_estado(doc.status_bar, 'Línea: ', 10)
    return
```

Es importante siempre devolver el control de la barra de estado a la aplicación con el método `end`.


### selection

Devolver la selección actual.

```python
doc = app.active
selection = doc.selection
app.debug(selection)
```

{{% notice warning %}}
**Cuidado**, la selección actual pueden ser muchas cosas diferentes.
{{% /notice %}}
