….speriamo bene…
Berlusconi TER…
… mi sto cagando addosso…
server 3: LA MAPPA
anche se non ne ho mai parlato in queste righe, c’e’ un giochetto che da un po’ di tempo mi ruba il tempo libero: travian.
Anche se alla mia veneranda eta’ oramai dovrei essere immune alla “dipendenza da mmorpg“, questo strategico mi ha realmente rapito, tanto da spingermi a creare un programmiello simpatico per generare la mappa del “mondo“.
La ripropongo in basso con i mitici CARONTE in bella evidenza (pixel rossi)…
anche se un po’ pochini relazionati alla popolazione “mondiale” (1px per ogni villaggio) vi posso garantire che FACCIAMO MALE!!!!
N.B. ATTENZIONE: Travian produce dipendenza psicologica, usare con cautela
PsycheHare menu
Leggo su pollycoke che psycheHare (ovvero psychemax + theleashedhare) han tirato fuori una nuova (?!?)* proposta di menu per desktop…
Mi sento di incoraggiare questo sviluppo e proporre (anche se mi pare di inituire che gia’ questi siano gli intenti degli sviluppatori..) un piccolo mockup:
piazzando le icone delle macrocategorie nel cerchio principale, e estendendo mano mano i sottomenu nelle “protesi” esterne…
…Non vedo l’ora di provare una versioncina stabile….
In bocca al lupo…
* alcuni dicono somigli al menu di windows 7 o ad altri preesistenti (che non conosco)
RibbonX Office 12… come complicare una cosa semplice… atto I
da un paio di giorni vago in rete alla ricerca di info su come effettuare il porting di un plugin di Outlook 2003 verso la versione 2007…
Senza scendere nel dettaglio dei vari componenti che ho scaricato, mi scontro ripetutamente con la differente logica di programmazione della barra “Fluent UI” rispetto alle tradizionali barre degli strumenti…
La ribbon a quanto pare non si instanzia direttamente come un comune oggetto (ButtonBar miabarra = new CommandBars.Add(..etc), per intenderci) ma usa un file xml che descrive i pulsanti e la loro disposizione. Mentre questo puo’ essere letto come un fattore positivo, di contro ha che i metodi richiamati dai bottoni (impostati anch’essi nel file xml) sono estremamente scarni (la combobox ha solo il metodo onChange) e vengono in automatico associati a runtime ai metodi della istanza della classe Ribbon!! questo vuol dire che non abbiamo modo di eseguire i metodi degli oggetti direttamente dal plugin, ma dobbiamo mettere il codice all’interno dell’istanza del ribbon, recuperando il contesto dal parametro che ci viene passato.
Consapevole di essere stato poco chiaro:
diciamo che mi creo la mia classe “barra”:
public class MyRibbon : Office.IRibbonExtensibility
e ne implemento i metodi:
public string GetCustomUI(string ribbonID)
{
string ui = "";
ui = GetResourceText("TestRibbon.xml");
return ui;
}
se voglio associare un evento OnClick non posso, come di consueto, creare la funzione delegata in ThisAddin, ma dovro’ creare all’interno della classe MyRibbon un metodo “OnClick”:
public void Button_Click(Office.IRibbonControl control)
Non ne riesco a capire i motivi… questo obbliga a separare il codice della barra da quello del restante plugin, ma sono due cose logicamente connesse… non ha senso se pararle.
L’unico modo che mi salta in mentre per riportare la situazione a quella “pre-ribbon” e’ reimplementare tutti gli eventi e i delegati, ma anche cosi’ non avrei che un metodo per ogni bottone.
Altra cosa allucinante e’ non potersi riferire direttamente all’istanza del pulsante, se voglio, per fare un esempio, disattivarlo dovro’ creare un metodo
public bool Button_getEnabled(Office.IRibbonControl control)
che mi restituisce un booleano con lo stato corrente del pulsante… tremendamente macchinoso secondo me…
In conclusione spero vivamente che questo mio modo di utilizzare la ribbon sia sbagliato e non conforme alla modalita’ “standard” di usare questo strumento, perche’ a dirla tutta ho sprecato un sacco di tempo per scrivere un codice difficilmente manutenibile e a valore aggiunto pressoche’ nullo… (rispetto alle normali barre degli strumenti, si intende…)
tinyMCE, la power-textbox… atto 2
Proseguo la carrellata di funzionalita’ di tinyMCE, la textbox per webdesigner potente, flessibile e OpenSource…
una della cose che cercavo era la configurabilita’ dei bottoni, ed in questo mi e’ venuto in aiuto la modalita’ di configurazione “advanced”:
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_buttons1 : "undo, redo, separator, bold, italic, underline, separator, justifyleft, justifycenter, justifyright, justifyfull",
theme_advanced_buttons2 : "hr, separator, bullist, numlist, separator, outdent, indent, separator, link, unlink, separator, charmap",
theme_advanced_buttons3 : "",
height : "250px",
width : "480px"
});
in questo modo sto dicendo a tinyMCE di mettere sulla prima barra i tasti “annulla, ripeti, grassetto, corsivo, sottolineato, allinea a destra, al centro, a sinistra, giustificato” e sulla seconda
“togli indentazione, indenta, collegamento ipertestuale, elimina collegamento e mappa caratteri speciali”.
E’ possibile aggiungere una terza barra riempiendo il campo “theme_advanced_buttons3“.
il risultato:
da aggiungere che e’ possibile configurare le barre degli strumenti inserendo uno qualsiasi di questi bottoni:
bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, bullist, numlist, outdent, indent, cut, copy, paste, undo, redo, link, unlink, image, cleanup, help, code, hr, removeformat, formatselect, fontselect, fontsizeselect, styleselect, sub, sup, forecolor, backcolor, forecolorpicker, backcolorpicker, charmap, visualaid, anchor, newdocument, separator


