Scintilla incorporates a "zoom factor" that lets you make all the text in the document larger or smaller in steps of one point. The displayed point size never goes below 2, whatever zoom factor you set. You can set zoom factors in the range -10 to +20 points.
Mejoras para scintilla
Re: Mejoras para scintilla
Manuel, has tenido en cuenta esta informacion?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Yo habia pensado en un SLIDER?, con valores de -10 a 20 y valor inicial a 0, si es que eso se puede hacer, qué opinas?mastintin wrote:
Si poner un combo en el buttonbar con porcentajes de 50 en 50 o menos ( 50% , 100% , 150% ) o algo parecido .
Tengo un código que funciona :Code: Select all
METHOD SetZoom( nZoom ) CLASS TScintilla local nZoomFactor := ::Send(SCI_GETZOOM) + nZoom/10 ::Send( SCI_SETZOOM, nZoomFactor, 0 ) Return nil
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Cristobal , mejor aún .
Re: Mejoras para scintilla
De momento y a falta de efectos visuales del control, tengo puesto bitmaps en el ButtonBar y lo he implementado asi, para no tener que controlar los valores Minmo ( -10 ) y Máximo ( +20 )
Lo utilizo asi:
Más pequeño
Más grande
Volver al tamaño inicial
Code: Select all
//----------------------------------------------------------------------------//
METHOD SetZoom( nZ ) CLASS TEdtScint
Local nZoomFactor := ::SendEditor( SCI_GETZOOM, 0, 0 )
DEFAULT nZ := 0
if !Empty( nZ )
if nZ > 0
::SendEditor( SCI_ZOOMIN, 0, 0 )
else
::SendEditor( SCI_ZOOMOUT, 0, 0 )
endif
else
::SendEditor( SCI_SETZOOM, nZ, 0 )
endif
nZoomFactor := ::SendEditor( SCI_GETZOOM, 0, 0 )
Return nZoomFactor
//----------------------------------------------------------------------------//
Más pequeño
Code: Select all
oEditor:SetZoom( -1 )
Code: Select all
oEditor:SetZoom( +1 )
Code: Select all
oEditor:SetZoom( 0 )
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Mejoras para scintilla
Cristobal,
Estoy probando sciedit.prg (renombrado como fivedit.prg) y he observado lo siguiente:
Cuando abro un nuevo fichero, se añade una pestaña nueva en el folder, pero si cambio a la pestaña que estaba previamente seleccionada, todo el texto aparece seleccionado. Te ocurre esto a ti tambien ?
Estoy probando sciedit.prg (renombrado como fivedit.prg) y he observado lo siguiente:
Cuando abro un nuevo fichero, se añade una pestaña nueva en el folder, pero si cambio a la pestaña que estaba previamente seleccionada, todo el texto aparece seleccionado. Te ocurre esto a ti tambien ?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Mejoras para scintilla
Cristobal,
Acabo de probarlo en el tuyo pero no permites abrir más de un fichero a la vez.
Si implementas el tener varios ficheros abiertos a la vez podriamos ver si te ocurre lo mismo
Acabo de probarlo en el tuyo pero no permites abrir más de un fichero a la vez.
Si implementas el tener varios ficheros abiertos a la vez podriamos ver si te ocurre lo mismo
Re: Mejoras para scintilla
Cristobal , he implementado lo del zoom en sciedit de fivemac, pero tu codigo de zoom no me funcionaba adecuadamente y lo he repensado ....
el codigo en la clase :
He colocado un boton Flat con el prompt con el porcentaje , al pulsarlo asigno 0 al zoom y coloco el prompt adecuadamente.
. el slider lo he limitado para que coja valores desde -9 a 20
He calculado el porcentaje con ( nValorSlider+10 ) *10 siendo -9 el 10% o el 100% y 20 el 300%
el codigo del editor. Ojo es codigo fivemac pero adaptable a fwh faclimente ...
el codigo en la clase :
Code: Select all
METHOD SetZoom( nZ ) CLASS TScintilla
Local nZoomFactor := ::SendEdit( SCI_GETZOOM, 0, 0 )
DEFAULT nZ := 0
if nZ > -11 .and. nZ < 21
::SendEdit( SCI_SETZOOM, nZ, 0 )
endif
nZoomFactor := ::SendEdit( SCI_GETZOOM, 0, 0 )
Return nZoomFactor
. el slider lo he limitado para que coja valores desde -9 a 20
He calculado el porcentaje con ( nValorSlider+10 ) *10 siendo -9 el 10% o el 100% y 20 el 300%
el codigo del editor. Ojo es codigo fivemac pero adaptable a fwh faclimente ...
Code: Select all
@ 2, 210 BUTTON oSayZoom PROMPT "Zoom : 100%" OF oWnd SIZE 110, 16 ;
ACTION oSayZoom:setText("Zoom : "+ alltrim(str( ( ( oEditor:setZoom( 0 )+10)*10 ) ) )+ "%" )
oSayZoom:SetBezelStyle( 13 )
@ 1, 324 SLIDER oSlide SIZE 100,18 OF oWnd
oSlide:SetMinMaxValue( -9, 20 )
oSlide:bChange := {|| oSayZoom:setText("Zoom : "+ alltrim(str( ( ( oEditor:setZoom( oSlide:GetValue() )+10)*10 ) ) )+ "%" ) }
Re: Mejoras para scintilla
Manuel, que te pasaba?, por qué no te funcionaba bien?
Queda muy bien el boton y el slider, voy a ver y te cuento
Queda muy bien el boton y el slider, voy a ver y te cuento
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Prueba a quitar el SetFocus de la function OpenFile de SciEdit.prgAntonio Linares wrote:Cristobal,
Estoy probando sciedit.prg (renombrado como fivedit.prg) y he observado lo siguiente:
Cuando abro un nuevo fichero, se añade una pestaña nueva en el folder, pero si cambio a la pestaña que estaba previamente seleccionada, todo el texto aparece seleccionado. Te ocurre esto a ti tambien ?
http://forums.fivetechsupport.com/viewt ... 75#p169365
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Eso ya lo tenía y lo quité, por las pruebas que estoy haciendo, a ver que opinas del motivoAntonio Linares wrote:Cristobal,
Acabo de probarlo en el tuyo pero no permites abrir más de un fichero a la vez.
Si implementas el tener varios ficheros abiertos a la vez podriamos ver si te ocurre lo mismo
Si te fijas, en el editor tipo Win8 solo tenía un cuadro de dialogo sobre el que iba abriendo todos los documentos, o seleccionando del browse (doble click) de la izquierda en el que aparecen los documentos abiertos, sin necesidad de crear un nuevo control, solo cambiando el puntero al documento que, o se abre nuevo, o que ya estaba abierto y oculto
Cuando usamos Folder, abrimos un documento en cada pestaña, pero creando un nuevo control en cada uno de ellos, que no me convence, aunque es la forma mas sencilla pero no la que indican en la documentacion de Scintilla.org para el uso de varios documentos
http://www.scintilla.org/ScintillaDoc.h ... DOCPOINTER
Lo que mas tiempo me esta llevando es mirar este tema: ver la posibilidad de no tener que crear un nuevo control para cada nuevo dialogo (pestaña), o hacer que sea parametrizable el uso de la aplicacion en un solo cuadro de dialogo o con el Folder
De todas formas estoy terminando de crear metodos en la clase que genere los comandos necesarios para la creacion y manejo de los handles a los documentos abiertos.
Para que puedas hacer pruebas voy a subir en un ratito al repositorio una version multidocumento con el uso del Folder, tal y como lo tienes en .\Samples\SciEdit.prg
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Mejoras para scintilla
Cristobal,
No pienso que sea un problema el crear x controles Scintilla y tener uno en cada página del folder parece lo más sencillo
En tu EXE aparece el problema que te he comentado ? Al abrir un nuevo fichero, el anterior aparece con todo el texto seleccionado.
No pienso que sea un problema el crear x controles Scintilla y tener uno en cada página del folder parece lo más sencillo
En tu EXE aparece el problema que te he comentado ? Al abrir un nuevo fichero, el anterior aparece con todo el texto seleccionado.
Re: Mejoras para scintilla
Aun no lo he actualizado en el repositorioAntonio Linares wrote:Cristobal,
No pienso que sea un problema el crear x controles Scintilla y tener uno en cada página del folder parece lo más sencillo
En tu EXE aparece el problema que te he comentado ? Al abrir un nuevo fichero, el anterior aparece con todo el texto seleccionado.
Estas usando solo los comandos con los botones del ButtonBar?, porque el de los menus aun no estan actualizados, están los antiguos
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Manuel
Puedes compartir el metodo oSlide:GetValue()?
Aunque entiendo lo que deberia devolver, no puedo desarrollarlo ahora
Puedes compartir el metodo oSlide:GetValue()?
Aunque entiendo lo que deberia devolver, no puedo desarrollarlo ahora
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Antonio, puedes bajarte el .Exe del repositorio (en descargas esta el mismo)
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Mejoras para scintilla
Por cierto, para el tema de la lista de Funciones, etc. se me ha ocurrido esto (fijate en el oTree de la izquierda) a ver que os parece
Ya esta implementado con una DATA que permite activarlo/desactivarlo
Ya esta implementado con una DATA que permite activarlo/desactivarlo
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.