Dashcode
(1 korsinik/a gleda/ju temu) (1) Gost

Dashcode


12.09.2008 | 15:27
Zna li itko kako da napravim widget da samo kliknem na riječ pa da napravi copy, tako da samo u safariu napravim past?!

Nadam se da razumijete pitanje,nešto tipa serialbox klik-copy?!
13.09.2008 | 02:06
Zna li itko kako da napravim widget da samo kliknem na riječ pa da napravi copy, tako da samo u safariu napravim past?!


Pretpostavimo da imaš nekakav textarea u svom widgetu, u kojem je tekst. I pretpostavimo da kopiranje ne trigga klik (onclick event) nego dupli klik (ondblclick event), kao u Serial Boxu.

Zapravo, da ne pretpostavljamo uzalud možeš kreirati novi Custom widget (prazan), u njemu jedan textarea i upiši u textarea nekoliko riječi, tako da je svaka od sljedeće odvojena newline (return) karakterom. To će "glumiti" tabelarne retke iz Serial Boxa, da ne petljamo s konstrukcijom prave tablice.

Sad dodaj handler za ondblclick event (textarea). Nazovi ga kakogod i u njega možeš kopirati ovo:

function kakogod(event)
{
var dataForPasteboard = event.target.defaultValue.substring(event.target.selectionStart,event.target.selectionEnd);
widget.system("/bin/echo -n '"+dataForPasteboard+"' | /usr/bin/pbcopy", null);
}

U Widget Attributes OBAVEZNO uključi Allow Command Line Access. Pokreni widget, dblklikni na neku od riječi u textarea i upravo si je kopirao u clipboard.

Što gornji event napravi? Prvo parsa selekciju i kopira označeni dio u varijablu dataForPasteboard. Blagodat dblklika (i razlog zašto je ovo zakačeno za ondblclick) je što će automatski selektirati cijelu riječ na koju klikneš. Možeš koristiti i onselect ako ti više odgovara preciznija selekcija.

Da bi druga linija (widget.system...) radila, widgetu mora biti dozvoljen pristup komandnoj liniji (od tuda onaj Allow Command Line Access). Sintaksa u nastavku poziva sistemsku pbcopy naredbu (hint: postoji i pbpaste) i to tako da joj proslijedi sadržaj varijable dataForPasteboard (u kojoj je selekcija) printajući njen sadržaj s naredbom echo i koristeći switch "-n" da echo NE doda newline karakter prilikom prosljeđivanja selekcije u clipboard - u protivnom bi Paste (u Safariju ili bilo gdje drugdje) osim selekcije, automatski imao i jedan "enter" na kraju.

Umjesto onog "null" iza zareza bi trebao biti endHandler - ako je "null", funkcija se izvodi sinhrono, što znači da je ostatak widgeta "smrznut" dok funkcija ne obavi svoje. No, nije kritična (brzo se izvršava i mala je vjerojatnoća da će nešto poći po zlu) pa za "kućnu upotrebu" spomenuti endHandler nije nužan. Detalji su opisanu u ADC Home > Reference Library > Reference > Apple Applications > Dashboard > Dashboard Reference > Widget Object.

Inače, pozivanje komandne linije i pbcopy naredbe nije nešto što normalnom čovjeku prvo padne na pamet. Logičniji put bi bio korištenje oncopy handlera, ali problem je u tome što dotični postoji samo za body widgeta i trigga se na CMD+C (tipke!). Nije mi poznato kako triggati event u widgetu programski (s obzirom da fireEvent() ne postoji) pa to očito nije rješenje tvog problema. No, ako ti zatreba takvo rješenje, Dashcode ga ima u svom Code Libraryu, pod Events i zove se Copy Support. Ali ima i bug pa, ako ga odlučiš koristiti, imaj na umu da tamo gdje piše "display" zapravo treba pisati "dataForPasteboard".
13.09.2008 | 13:02
Ma ovo radi super! Nešto sam slično pokušavao ali ovaj kod koji si mi dao nisam nigdje pronašao,samo copy support koji mi nije pomogao.
Hvala puno a posebno na detaljnom objašnjenju!

P.S. Dal mogu zaključat text jer sad ga mogu u dashdordu slučajno promjenit?
13.09.2008 | 15:09
Dal mogu zaključat text jer sad ga mogu u dashdordu slučajno promjenit?


Zaključati dok editiraš, u Dashcodeu (ukratko: ne; možeš eventualno isključiti Visible flag, ali onda ne vidiš kompletan textarea) ili dok se izvršava?

Ako je ovo drugo u pitanju (a pretpostavljam da je), textarea je po defaultu editabilan i nema neki "switch" koji bi ga pretvorio u "view only". No, zato je tu workaround: dodaj handler na onkeypress (ili neki sličan, ovisi što ti najviše odgovara) event i u njemu "presretni" editiranje. Ako event nazoveš "presretac", ovo će biti dovoljno:

function presretac()
{
event.preventDefault();
event.stopPropagation;
}

Textarea će biti prikazan uredno, onselect će se ponašati normalno (i triggati kopiranje u clipboard), ali će svaki pritisak na tipku biti prosljeđen u crnu rupu. Imaj na umu da to znači da, dok je dotični textarea odabrana kontrola, ni CMD+Q ne radi! Tek kad user klikne izvan textarea, prestaje presretanje i može quitati widget preko tipkovnice - može biti feature, ali može biti i bug.
13.09.2008 | 16:30
Mislim da če ovako biti sasvim dobro.

thx Dj
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 1 sat, 52 minuta
  • ecvis17: ok, tnx
  • smayoo: Piši u forum
  • ecvis17: pozdrav svima, imam stari MBP koji maksimalno moze voziti BigSur ... malo nisam vise u toku, gdje se danas mogu pronaci Combo installeri? Tnx
  • cariblanco: Čekao je da Hajduk osvoji prvenstvo i na kraju je odustao ;)
  • Yonkis: Od sada ćemo mjeriti vrijeme pre-JM and post-JM time
  • JOHN: Ako je vjerovao, neka mu dragi Bog pomogne i uzme sebi. Ako nije, opet nema veze……sve u svemu mislim da je živio dobar život!
  • smayoo: Ljudi... ode nam Joža Manolić... Nije šala.
  • accom: ne nadjem...
  • accom: jel postoji tema "must have apps"?
  • Riba: Vjerojtano koliko je Apple mapa detaljna.
  • Yonkis: Ili da otvorim temu u forumu?
  • Yonkis: Jedna osoba dok je bila u Beču, mogao sam vidjeti njenu lokaciju točno na kojem je katu i u kojem dijelu zgrade je bila (iPhone 14 u pitanju). Zna li netko koji su preduvjeti za takvo točno lociranje jer u Hrvatskoj to još nisam nigdje doživio? Vidim lokaciju ali ne u 3D.
  • m@xym: Uostalom, palčevi su na ovom forumu odavno prestali biti relevantni, a nama koji smo redovito ovdje niti ne trebaju da bi smo znali kakav je tko.
  • m@xym: Nerviraj se samo zbog onih koji su ti bitni, a nebitne ignoriraj, inače ćeš ostati bez živaca.
  • Vanjuška: Nema nervoze m@xym, ali da javno prozovem malog žapčića da bog sve vidi i sve zna :D
  • smayoo: Ja nemam.
  • zvone: Servisom naime...
  • zvone: ljudi ima li tko iskustva sa sercisom iklinika?
  • m@xym: Čemu nervoza zbog palčeva?! Evo ti još jedna gore ako te to baš toliko muči.
  • Vanjuška: LOL, puknem post i vidim 1 pozitivan palac gore, a imao sam ih 10 nakon onog Tinovog pushanja. Kaj je Žabac/Jura, opet me imaš na piku? :D
  • Kloba: Predizborna škola Željka Pervana [link]
  • Yonkis: Najljepše je kad ostane u “obitelji” :)
  • imjasminh: Mobitel prodan useru s Jabučnjaka :)
  • Zdravac: :)
  • Zdravac: Jel zna netko bez googlea odakle to?
  • Zdravac: ...Galebi, oj beli tići, poletite dole k jugu, ter moju pozdravite majku...
  • Gjuroo: Moj talent za poeziju nije skriven :)
  • Air: ...možda bi se razvili skriveni talenti za poeziju :)
  • Air: Da uredništvo ima smisla za biznis... brzo bi se reducirao broj vojnih stratega, predsjednika, trenera... :)
  • smayoo: @Air: :D
  • imjasminh: u biti cmd r xD
  • imjasminh: updatane slike mobitela u oglasniku - cmd f5 ako vidite stare slike...
  • imjasminh: Apple iPhone 14, 128GB, Midnight Blue - 89% - Spuštam na 450 EUR - [link]
  • Air: Da uredništvo ima smisla za biznis uvelo bi porez na političke teme, 1c za čitanje, 2c za pisanje po postu.
  • Gjuroo: "Smayoo: 25x je vrlo optimistična procjena :)
  • Bertone: Otvorena tema "Zero-day" pa se slobodno možete maknuti od politike i rata
  • Bertone: Ma znam, ali tko će to čitati :(
  • smayoo: Svatko je slobodan otvoriti kakvu god želi temu koja ne krši opća pravila. Zar je uredništvo krivo što vi, članovi, pokazujete 25 puta veći interes za političke teme, nego za stručne? :)
  • Bertone: ... no u pravu si, lakše je mlatiti o politici nego o stručnim hardversko-softverskim temama :)
  • Bertone: Kad si stavio video, malo sam bacio oko na forum no nisam našao zasebnu temu o sigurnosti u koju bi se mogle staviti vijesti ili linkovi na iste no tražiti ću još malo
  • Gjuroo: Apple teme nam se svele na vikalicu, a forum preuzela politika...
  • Bertone: Još malo o sigurnosti (ako nekoga zanima), [link] i [link]
  • Gjuroo: Upozorenje Apple korisnicima glede moguće krađe identiteta: [link]
  • Gjuroo: @drlovric: Sviđaju mi se oznake što nisu šareni... Taj grb sa zoo vrtom je uvijek nekako kao šaka u oko, al ajd.
  • drlovric: [link]
  • drlovric: Sitno se broji :)
  • JOHN: Sretan i blagoslovljen Uskrs!
  • Borostef: Sretan Uskrs :)
  • Miro Spiro: sretan Uskrs
  • Beli: Sretan Uskrs svima :)

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Anketa

Kupujete li profesionalni Mac?

Čekam novi modularni Mac Pro - 48.5%
Novac nije problem, kupujem iMac Pro - 0.7%
Kupujem Valjak, baš je lijep i tih! - 0%
Kupujem polovni Mac Pro tower - 11.8%
Nadogradit ću postojeći Mac Pro tower - 2.9%
Običan iMac 27" mi je dovoljan za posao - 5.9%
Skromnih sam potreba, Mac mini je zakon! - 7.4%
Radim na terenu, mora biti MacBook Pro - 3.7%
Ne diram ništa, stari Mac služi me odlično - 10.3%
Kupujem PC kantu i prelazim na Windowse! - 8.8%

Ukupno glasova: 136
Anketa je završena dana: 08 Svi 2018 - 12:17
Page Speed 1.05 Seconds

Provided by iJoomla SEO