Ejemplo n.º 1
0
        private void irControlDocumentos()
        {
            ControlDocumento frm = new ControlDocumento();

            ControlDocumentoViewModel context = new ControlDocumentoViewModel(ModelUsuario);

            frm.DataContext = context;

            Pagina = frm;
        }
Ejemplo n.º 2
0
        public void IrAPosicion(Punto punto, bool ampliarSeleccion)
        {
            AsegurarGraficador();

            Punto pt2    = punto + EsquinaSuperior;
            int   pagsig = PaginaSuperior;
            int   indice = PaginaSuperior;
            IEnumerable <Pagina> pags = _Documento.ObtenerDesde(PaginaSuperior);

            foreach (Pagina pag in pags)
            {
                if (pt2.Y > pag.Dimensiones.Alto + EspacioEntrePaginas)
                {
                    pt2.Y -= pag.Dimensiones.Alto + EspacioEntrePaginas;
                }
                else
                {
                    break;
                }
                indice++;
            }
            if (punto.Y < Medicion.Cero && indice > 0)
            {
                indice--;
                pt2.Y -= _Documento.ObtenerPagina(indice).Dimensiones.Alto + EspacioEntrePaginas;
            }
            if (punto.Y > Dimensiones.Alto)
            {
                indice++;
                Pagina p = _Documento.ObtenerPagina(indice);
                if (p != null)
                {
                    pt2.Y -= p.Dimensiones.Alto + EspacioEntrePaginas;
                }
                else
                {
                    indice--;
                }
            }
            ControlDocumento.RegistrarPosicion(indice, pt2, ampliarSeleccion);
        }
Ejemplo n.º 3
0
        public void Dibujar(IGraficador graficador, Seleccion seleccion, bool dibujarCursor)
        {
            AsegurarGraficador();
            Posicion pos = ControlDocumento.ObtenerPosicion();

            AsegurarVisibilidad(pos);
            Medicion             inicio  = Medicion.Cero - EsquinaSuperior.Y;
            Medicion             derecha = Medicion.Cero - EsquinaSuperior.X;
            int                  i       = PaginaSuperior;
            IEnumerable <Pagina> pags    = _Documento.ObtenerDesde(PaginaSuperior);

            graficador.RellenarRectangulo(fondo, Punto.Origen, Dimensiones);
            foreach (Pagina p in pags)
            {
                LienzoPagina l = new LienzoPagina(i, new Punto(derecha, inicio));
                l.Dibujar(graficador, _Documento, pos, seleccion, dibujarCursor);
                if (inicio > Dimensiones.Alto + EsquinaSuperior.Y)
                {
                    return;
                }
                inicio += p.Dimensiones.Alto + EspacioEntrePaginas;
                i++;
            }
        }