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 2 dana, 5 sati
  • Yonkis: iOS 26.4.1 and iPadOS 26.4.1 This update has no published CVE entries.
  • stefanjos: Treba mi as u rukavu kada me netko pita gdje da ide haha :D
  • smayoo: Ima ih nekoliko koji se oglašavaju kao iPhone serviseri, nijedan mi nije baš ulio povjerenje, ali nemam neposrednih loših iskustava.
  • stefanjos: gdje nositi iphone na popravak u rijeci kada nema jm elektronike?
  • Yonkis: @smayoo Nema na čemu, evo ja upisah.
  • smayoo: @Yonkis, evo, otključano, hvala na upozorenju!
  • dpasaric: Booo?
  • Yonkis: “ Lažu li nas :) ...nastavak sa vikalice.” - tema zaključana a zadnji post završava sa pitanjem?
  • smayoo: Sretan Uskrs!
  • Yonkis: Sretan Uskrs braćo! I sestre!
  • zoranowsky: Sretan Uskrs!
  • Gjuroo: Sretan Uskrs!
  • Miro Spiro: sretan Uskrs
  • user: da bar je propao kao što su Microsoft i ostali predviđali, hvala što si pokrenuo najgori trend u techu Steve.
  • Yonkis: [link] Who’s in Apple’s top 10? Here’s the full list of the most influential people of all time
  • Yonkis: [link] netko fino složio povijest svih modela iPhonea, jako lijepo.
  • Yonkis: Apple employee #8 Chris Espinosa on working his whole life at one company: [link]
  • Ender: vrlo moguce, ja video to na nasem sajtu 02. apr. sorry.
  • Yonkis: @ender članak je prekopiran odavdje [link] i po tome ispada da je 1.april šala.
  • Ender: AMD kupuje Intel: istorijski preokret koji menja čitavu x86 industriju [link]
  • dpasaric: Super je prošlo! :) Sretno im!
  • miomika: Možda glupo pitanje, dal će se vidjeti putovanje te rakete iz .hr prema mjesecu? zasada nije oblačno
  • Ender: USA lansiranje rakete sa ljudskom posadom ka mesecu
  • Ender: [link]
  • Ender: [link]
  • CoffeePod: @yonkis iStyle takvo ruglo od firme. Pogotovo dućan u Splitu. Osoblje nema pojma, morao sam ih sve školovat :P
  • dpasaric: Večeras tko je u Rijeci u Piki na proslavu 50 godina! :)
  • Borisone: Onaj dan u godini?
  • Yonkis: zato iStyle daje popust od 2.27% ne od 3% ne od 2.5% nego 2.27% Presmiješno.
  • Tito: Kupio sam 3 MBA i 2 iphonea
  • ZoPaj: 50% off all Apple products in all Apple stores for Apple's 50th anniversary... today only! apple.com
  • dpasaric: [link]
  • dpasaric: 50 godina Applea u srijedu u 19.30 u Pikiju!
  • jura22: Nema mjesta za ekspanziju jer je tako Apple odlucio. Sigurno bi se mogla graficka ustekati ili vise njih. Mozda memorija i nema smisla.
  • vjeko1: Realno me ne čudi ovo za Mac Pro jer desktop lineup nije imao previše smisla sa Studio i Pro. S druge strane, arhitektura sa Apple Silicon je takva da nema previše mjesta za expanziju tako da.. RIP
  • Piko: Samo da velim da sam "ukrao" ideju za vikalicu .... i napravio svoju implementaciju na [link] ....
  • Soffoklo: Apple odustaje od Mac Proa - [link]
  • Yonkis: @CoffeePod koristiš li ono punjenje do 80% ili si light user? Moj iPhone 15 je nakon 26 mj izgubio samo 6% a 2 različita SIMa (priv posl). Tako da 1% je sasvim ok.
  • drlovric: @Coffe: Po gruboj racunici moze ti trajati do kraja stoljeca taj telefon. Nista ne azuriraj :)
  • CoffeePod: Ja sqm i dalje na iOS18 i ne planiram jos updejtat. Nakon 9 mjeseci baterija na 16PRO pala je samo za 1% od max kapaciteta
  • ZoPaj: eh, da je bar više tih OS updatea bez novih featuresa:) optimiziranih i očišćenih od bugova pored famoznih sigurnosnih patcheva.. mislim da Snow Leopard nije imao ni jednu jedinu novost? 26.4 mi se čini brz i stabilan...
  • miomika: 26.4 je vani, ali ništa od Geminija. Samo APlle Music i fora s koncertima. Neznam dal je vrijedno i skidati
  • Borisone: [link]
  • Borisone: Jel to Apple MD dostupan od 14.4. u HR? [link]
  • zoranowsky: @rak21, ja nisam, upravo sam dobio info da mi je narudžba stornirana zbog ograničenih količina. Netko je očito zeznuo kalkulaciju...
  • Yonkis: WWDC26 June 8–12, 2026 [link]
  • rak21: Je li netko ulovioacbook pro M5 pro za 2200 u instaru? Baš me zanima jel prošla narudžba ili su stornirali jjer su bili jeftiniji 500€ i više od drugih.
  • smayoo: Ja sam nedavno imao tako raspadnut prikaz oglasa u Firefoxu, ispalo je da je problem bio u Ghosteryju
  • CoffeePod: Probao sam Tahoe na M4 MBP i M2 Airu i ono je sramotno na sto lici i kako performa
  • CoffeePod: Ima netko da i dalje odbija preci na Tahoe i iOS26?

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.48 Seconds

Provided by iJoomla SEO