Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Sugerencias Durante La Escritura De Código HTML (Solucionado) :)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Sugerencias Durante La Escritura De Código HTML (Solucionado) :) 
 
Konnichi wa...

Estoy tratando de que al escribir <h , aparezca un listado <h1>, <h2>, <h3>, etcs en modo emergente (como hace gambas cuando por ejemplo escribes "nex", el te sugiere "next")
 pantallazo_webmaker0_1_gambas_2

Se me ocurrió usar crear un menú dependendiendo de lo que se escriba y mostrarlo con miMenu.PopUp(), me pregunto si hay algún componente o modo menos manual..


Saludos
 



 
última edición por BrunoIV el Lunes, 29 Agosto 2011, 22:10; editado 1 vez 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Si no estoy equivocado, gambas usa un formulario sin bordes con un listbox ocupando toda la superficie (arrangement = fill). Puedes crear este formulario y llamarlo con los valores adecuados de posición, tamaño y la propiedad stacking = above ( http://gambasdoc.org/help/comp/gb.qt/window/stacking ). Al llamarlo le pasas un array con las coincidencias y llenas el listbox con ellas, incluso puedes usar iconos diferentes para los items del listbox. En otro evento, por ejemplo clic sobre el editor o tecla TAB para auto-completar, escondes el formulario emergente, inicializándolo cada vez que lo vuelvas a llamar mediante el evento change del editor si el número de caracteres tecleados son más de 2 y están dentro de las coincidencias posibles.

Puedes revisar el código fuente de gambas, la parte del editor, aunque es bastante complejo por el uso intensivo de POO, pero quizás te de alguna idea.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Gracias jguardon, intento esto y ya daré señales de vida y mi solución cuando la tenga.

Respecto a:
Citar:

Puedes revisar el código fuente de gambas, la parte del editor, aunque es bastante complejo por el uso intensivo de POO, pero quizás te de alguna idea.


Ni de coña me veo capacitado para eso.. jaja

¡Al turrón!
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Ya lo tengo casi... pero tengo un pícolo problemo con esto.. Al abrir el formulario o el menú popup (intenté los 2), me es imposible escribir en el cuadro de texto, hay que hacer clic sobre el.. y setFocus no no funciona, intenté también:

editor.Goto(0,0) 'Linea 0 columna 0
editor.setFocus
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Claro... se me ocurre que podrías declarar un evento en el formulario emergente que se dispare justo cuando se muestra, en el form_open y manejar el evento desde el formulario donde está el editor. Ese evento debe ejecutar editor.setFocus, para devolver el foco al editor inmediatamente.

Algo así:

' Form emergente "FEmerg"

' Declaramos un nuevo evento
EVENT devuelveFoco()

Public Form_Open()
    ' lo disparamos nada mas mostrarse el formulario
    RAISE devuelveFoco()

End

Public mostrarLista(coincidencias AS String[])
     ' este es el método que empleamos para llamar al formulario desde el principal
    ' pasando como parámetros un array con las coincidencias filtradas
    ListBox1.List = coincidencias
    Me.Show

End


'Form editor
' Declaramos un formulario genérico
Private $formEmergente as Form

Public Form_Open()
    ' Instanciamos nuestro nuevo formulario emergente con su manejador de eventos
    $formEmergente = New FEmerg AS "formEmergente"
...
End

Public Sub editor_change()

    ' llamamos al formulario emergente con la lista de etiquetas
    ' habria que inventar un contador para calcular que solo se llame
    ' si hemos tecleado al menos 2  o  3 letras de una palabra clave
    If  contador > 2 then
        $formEmergente.mostrarLista(lista)
    Endif

End

' Usamos el nombre del manejador de eventos y el nombre del evento
' para construir este método que se ejecutará cuando se dispare dicho evento
Public Sub formEmergente_devuelveFoco()

      editor.setFocus

End


Prueba a ver si así te funciona, si no, habrá que "cotillear" cómo lo hace Benoit...
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Public formEmergente_devuelveFoco()
 


Missing AS
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Public Sub, por supuesto. Ya lo he corregido.
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Disculpa mi torpeza, pero no lo logro..

Intentaré poner lo que tengo, a ver si localiza alguien el error:
'FMain (aquí tengo el editor llamado edtHtml)

PRIVATE $formEmergente AS Form


Public Form_Open()
    $formEmergente = New FEmerg AS "FEmerg" 'Nombre del formulario que tiene el listbox
End


Public Sub formEmergente_devuelveFoco()
      edtHtml.setFocus
End

'Por otro lado, al apretar < y cualquier letra intento abrir esto:
$formEmergente.mostrarLista() 'DE MOMENTO SIN PARÁMETROS!!



'==========================================================================

'FEmerg (aquí muestro una etiquetas, ACTUALMENTE SON 2 DE EJEMPLO!!)
EVENT devuelveFoco()

PUBLIC SUB Form_Open()
  RAISE devuelveFoco()
END

PUBLIC SUB mostrarLista()
  'Este método lo llamamos para mostrar el formulario
  
  'Carga datos de ejemplo, SUBSTITUIR LUEGO
  ListBox1.Add("<h2>")
  ListBox1.Add("<h8>")


  ME.Show
END




El error está aquí (Unknown sysmbol "mostrarLista" in class 'Form'):
Citar:

$formEmergente.mostrarLista()


Si lo substituyo por FFmerg.mostrarLista() abre el formulario pero no establece el foco en el Editor...


Si no se puede no pasa nada, lo puedo incrustar a la izquierda de la pantalla o algo pensaré
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML 
 
Lo tengo.. Muajajaaj.. He optado por lo sencillo, pero funciona correctamente...
He creado un panel oculto en el formulario con el listbox que me dijiste, cuando el Luser escribe < y cualquier cosa se muestra donde tengas el mouse con las sugerencias. Me falta que al apretar las fechas y apretar intro se muestre la selección..

PUBLIC FUNCTION muestraSugerencias(aCoincidencias AS String[])
  DIM iContador AS Integer

  FOR iContador = 0 TO aCoincidencias.Length - 1 STEP 1
    lbxEtiquetas.Add(aCoincidencias[iContador])
  NEXT

  pnlSugerencias.Move(Mouse.ScreenX, Mouse.ScreenY)
  pnlSugerencias.Visible = TRUE
  pnlSugerencias.Height = lbxEtiquetas.Count * 28
  lbxEtiquetas.Height = pnlSugerencias.Height - 10
END
 


 pantallazo_web_maker_0_1

Gracias igualmente cierro
 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Sugerencias Durante La Escritura De Código HTML (Solucionado) :) 
 
Una recomendación. Yo estoy trabajando con el editor y he visto algunas cosas interesantes. Puedes investigar el control Editor, ya que creo que hay unas propiedades que te indican la posicion en pixeles del cursor. De ese modo, el cuadro sugerencias lo puedes mostrar al lado de donde se esta escribiendo.

Un saludo
 




===================
Proyecto Open Media Manager -> http://www.OpenMediaManager.com
 
netking86 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron