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 dan, 20 sati
  • Soffoklo: Vše o svemu ovdje - [link]
  • Soffoklo: CoreGraphics propust, za koji je objavljen PoC s malicioznim PDF-om, zakrpan je u iOS-u/iPadOS-u 26.7.1, macOS-u Tahoe 26.7.1 i Sequoia 15.8.1.
  • Junuz: Yonkis, dobro je dok te neupozorava.Znači da si vitalan pa sva 4 parametra
  • Junuz: Yonkis, nemožeš zanemariti poruke ove vrste, iskaču upozorenje.Medicinski gledano to ti je defacto massimo.Da nedetaljišem da je gps valjda stalno upaljen, nema veze zgrada drveće itd pogotovo u poređenju sa amazfit i xiaomi do trex 2 koje sam imao.Meni nesmeta puniti naveče pred spavanje.Ostalo procijeni sam.
  • Yonkis: Imam AW9 ali me samo zanimalo čime tj na koji način te upozorilo. Da znam i ja gledati jer dosta sam toga “isključio” ili zanemarujem. :)
  • Junuz: Yonkis, app zdravlje.Defaultna na watchu.Istina sat te prvih sedam dana skuplja podatke i radi kalibraciju.No za vrijeme boravka sam testirao dostupne funkcije i komparaciju sa medicinskim uređajima gdje je podudaranje u rezultatima umalo ili identičnoć
  • Yonkis: E to to pitam, kojom funkcijom/aplikacijom. Vrlo dobra stvar!
  • Junuz: Yonkis, upozorio me narušenim vitalnim funkcijama, za pluća znam da je naglasio broj udisaja naspram prosječnog i temperatura 1 od prosječne.Za kamenac se nesjećam ali je poruka bila da posjetim liječnika
  • Riba: Huawei GT Runner, dok mi ne dodje Pebble Round 2.
  • Krehacro: Riba koji nosis
  • Riba: Osim ago ga zaboravi napuniti. :) Meni je izbor jednostavan jer mi ne dolazi u obzir nista sto moram puniti cesce od jednom tjedno.
  • drlovric: Za normalan zivot kupi Apple watch. Ako si hardcore sportas, uzmi Garmin. Prvi put kada zaboravis novcanik ili mobitel, a imas Apple watch, bice ti drago sto nisi kupio Garmin :)
  • Krehacro: pa nije samo trcanje
  • Riba: Ako ti se ne puni sat svaki dan i treba ti za trcanje onda Garmin bez razmisljanja. Ako su ti bitne 'smart' funkcije i ne smeta te cesto punjenje, onda Apple.
  • Krehacro: I fitness i daily use
  • Riba: Za koju primarnu namjenu?
  • Krehacro: Mislim se izmedju garmin venu 4 ili apple watch 12
  • Yonkis: Sa čime te upozorio?
  • Junuz: Krehacro, apple svaka preporuka.Dva puta me upozorio na posjet liječnika.Koje sam naravno ignorirao i obadva puta završio u bolnici po 4 dana.Jednom upala pluče drugi put kamenac
  • Krehacro: Isplati li se uzet apple watch ili pak neki drugi smartwatch da gledam
  • Junuz: Yonkis, još 4 zadaće i lakiranje klupa po oprobam.Izgleda čekam radni dan da odmorim.
  • Yonkis: Jel’ upalilo?
  • Junuz: Hvala
  • Yonkis: Evo ovdje Junuz [link]
  • Yonkis: @Junuz pošaljem ti poruku ali možeš otvoriti i novu temu u Forumu
  • Riba: Junuz, pisi u forum.
  • Junuz: Pozz, zna li neko kako da deinstaliram apple int u os u 27 (MacBook neo).Bespotrebno mi je zauzeto 20 GB
  • CoffeePod: [link]
  • CoffeePod: Pokrenuo sam subreddit za Apple HR
  • Yonkis: Apple Intelligence Taking Up 30GB on Some Macs Running macOS 27
  • Yonkis: 1 i 2TB iPhonei su sporiji tj koriste sporiju memoriju nego 256 i 512GB [link]
  • Yonkis: Novosti od Applea: [link]
  • mbp2009: meni je odmah nakon updatea na 27 rc baterija dosta bolje
  • Yonkis: CoffeePod - drži ga prikopčanog na punjaču, bez LowPowerModea. I što manje ga koristiti, prčkati po iPhoneu.
  • Yonkis: navodno prijašnja 2 updatea, 26.5.1 je već započeo pripremu indexiranja, 26.5.2 popravio bug da se update može skinuti preko non-WiFi mreže, a indexiranje može potrajati 2-3 dana, ovisi o količini aplikacija i podataka
  • CoffeePod: iOS27 fenomenalan. Baterija loša dok se ne indexira
  • ping: Kad klikneš na tipku odaberi kod iPhone DUO. Na kratko se pojavi cijena. 999.999,99 €
  • Yonkis: Nisu se još usaglasili koliko bubrega će koštati. 6 ili 9, a možda čak i 11.
  • stefanjos: jel tako tesko istyleu cijenu izbaciti za duo. haha mislim nije mi zivotne vaznosti
  • Borisone: Iako je puni broj, update nije tako značajan kao prošlih godina. Da nema Siri AI (za neka tržišta, ne i naše) ne bi imali o čemu pisati.
  • Yonkis: Jel’ se netko ažurirao na iOS 27?
  • stefanjos: to im je goalgetter pa su trebali
  • Borisone: Čudno da je samo Apple TV stigao. Obično regionalno postane dostupan s još nekim od Apple media servisa (One, Books, ...)
  • CoffeePod: Zna neko kako dobit novu siri na Golden Gate?
  • CoffeePod: Uf odmah sam se pretplatio!
  • Pongy75: Bez HR titlova
  • matijazx: Apple TV je stiglaaaa
  • mbp2009: Reduce transparency zapravo ukloni veliku vecinu tog. Jos ima taj stakleni dio na npr semaforu, ali ukloni se transparentnost opcenito
  • mbp2009: lijepo to sve izgleda, ali generalno mi se cini da trosi bateriju ipak vise
  • mbp2009: instalirao sam ja, iskreno, malo je dosadno pa sam skratio i stavio ono reduce transparency

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.60 Seconds

Provided by iJoomla SEO