Comunidad Gambas-es
Petición de ayuda sobre TextEdit. - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Petición de ayuda sobre TextEdit. (/thread-441.html)

Páginas: 1 2 3


RE: Petición de ayuda sobre TextEdit. - vuott - 07-06-2021

Alguien dice que use DBUS.


RE: Petición de ayuda sobre TextEdit. - Shordi - 07-06-2021

(07-06-2021, 00:25)vuott escribió: Alguien dice que use DBUS.

Eso para mí es totalmente desconocido... Confused Confused Confused Huh Huh


RE: Petición de ayuda sobre TextEdit. - vuott - 07-06-2021

...en gran parte para mí también. Big Grin


RE: Petición de ayuda sobre TextEdit. - Shordi - 07-06-2021

Se me ha ocurrido que se podría utilizar una herramienta externa que simule los clicks del ratón. He encontrado xdotools, una herramienta que hace eso (entre otras muchas cosas) y esto que sigue "casi" funciona:
Código:
    If Mouse.Right
           ' n = txtedit.Pos
           ' txtedit.EnsureVisible()
           ' txtedit.refresh
           ' Wait
            Exec ["xdotool", "click", "1"] Wait
            ' While n <> txtEdit.pos
            '     If n < txtedit.pos Then
            '         Desktop.SendKeys(Key.PgDown)
            '     Else If n > txtedit.pos Then
            '         Desktop.SendKeys(Key.Pgup)
            '     Endif
            '     txtedit.EnsureVisible
            '     Wait
            '     Exec ["xdotool", "click", "1"] Wait
            ' Wend
            seleccionapalabra()
Si tenemos en pantalla el cursor y pulsamos botón derecho sobre otra palabra funciona de maravilla... pero si el cursor no está en pantalla porque hemos hecho scroll... no. mejor dicho sí funciona, pero el control hace scroll y la palabra seleccionada no es la correcta... Sad Sad
Todas las lineas comentadas son intentos de solucionar eso... pero natis de natis. (Según escribo ésto me viene a la mente: ¿No había por ahí un evento scroll()?) Seguiremos investigando.

Saludos


RE: Petición de ayuda sobre TextEdit. - tincho - 07-06-2021

(07-06-2021, 13:27)Shordi escribió: ¿No había por ahí un evento scroll()?)

Si existe ese evento, yo lo uso en gridviews
Saludos.


RE: Petición de ayuda sobre TextEdit. - gambafeliz - 07-06-2021

Shordi no se si estoy bien o despistado con el problema.

Pero yo he hecho esto en la línea 22

Código:
Dim t As New TextEdit(Me)
        t.popupmenu = m.Name

Por si te vale, sino seguiré rondando el problema. Saludos.

Me temo que no tiene nada que ver. Aunque a lo mejor te sirve como para pensar otro cosa.

Nota: Tu problema es que siempre sale el popup menu de edición del sistema, ¿es así? y por eso te fastidia tu popup menu propio. Si es así por favor dímelo, voy a esforzarme para resolverlo.


RE: Petición de ayuda sobre TextEdit. - vuott - 07-06-2021

(07-06-2021, 13:27)Shordi escribió: "xdotool"

Sí, conocía el programa "xdotool", pero no te lo propuse porque - como sabes - para mí el uso de Shell o Exec en Gambas es como invocar a el... Diablo Python !  Big Grin

(06-06-2021, 22:39)vuott escribió: pero no funciona.

Por supuesto Dodgy hace falta algún comando preliminar similar.

(07-06-2021, 14:55)gambafeliz escribió: Tu problema es que siempre sale el popup menu de edición del sistema, ¿es así?

El problema de shordi es poder colocar a placer el cursor en el texto de un "Textedit", haciendo clic con el botón derecho del ratón.
...como sabemos, el desplazamiento del cursor del texto mediante el ratón sólo es posible haciendo clic con el botón izquierdo.


RE: Petición de ayuda sobre TextEdit. - gambafeliz - 07-06-2021

Pero si es lo que dices por que me ocurre esto en su ejemplo:

1. Click izquierdo sobre una palabra y se posiciona donde hago el click, conclusión esta, bien, esta como tu me dices.
2. Click derecho y lo que ocurre es que se me selecciona la palabra donde hago click derecho, pero observo que es lo que el quiere, por que así lo hace su código. Y sin embargo observo que ha puesto un REM que dice ('Aquí vendría el código de despliegue del menú, etc. etc.)

Por lo tanto no es lo que tu me dices, por supuesto, no te estoy contradiciendo sino que es lo que observo.

Saludos.

Otra cosa que observo ahora que he puesto un menú.

Por ahora el comportamiento es totalmente natural.

1. Localizo una palabra, la que sea.
2. Hago click izquierdo para situarme en ella, es algo natural, miro y me posiciono.
3. Hago click derecho en esta palabra selecciona por mi para que me muestre el menú.

Para mi todo es correcto, es que no es así. Por favor, sois tan amables de indicarme que no veo.

Nota: Se que vuott me ha dicho otra cosas, soy consciente pero según veo no concuerda con la conversación o algo me he olvidado de leer. Si es así pido disculpas.


RE: Petición de ayuda sobre TextEdit. - Shordi - 07-06-2021

Cita:Por ahora el comportamiento es totalmente natural.

1. Localizo una palabra, la que sea.
2. Hago click izquierdo para situarme en ella, es algo natural, miro y me posiciono. Este es el problema: No es natural hacer ese click izquierdo y pretendo que el punto dos no haya que hacerlo.
3. Hago click derecho en esta palabra selecciona por mi para que me muestre el menú. El menú que debe salir depende del contexto (revisión ortográfica o sólo menú de edición) y por eso en el ejemplo que subí no lo incluí, sólo eliminé el menú por defecto, que es en inglés.

 

Cita:Sí, conocía el programa "xdotool", pero no te lo propuse porque - como sabes - para mí el uso de Shell o Exec en Gambas es como invocar a el... Diablo Python ! 
Mi plan tenía dos pasos:
A) solucionarlo con xdotool... 
B) Solicitar a uno que conozco y que es un experto en utilizar librerías externas en Gambas que me ayudase a manejar la librería libxdo3 directamente...

Blush Blush


RE: Petición de ayuda sobre TextEdit. - tincho - 07-06-2021

(07-06-2021, 17:27)Shordi escribió: Mi plan tenía dos pasos:

¿No seria factible hacer un control heredando textedit con la característica del click derecho?
Saludos.