рдмреНрд▓реИрдХрдмреЗрд░реА 10 рдПрдирдбреАрдХреЗ рдХреЗ рдирдП рдЗрдВрдкреНрд░реЗрд╢рди

рдЫрд╡рд┐

рдкрд┐рдЫрд▓реЗ рджреЛ рд╣рдлреНрддреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдмреНрд▓реИрдХрдмреЗрд░реА 10 рдПрдирдбреАрдХреЗ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╡рд┐рд▓рдореНрдм рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдореБрдЭреЗ рдЙрд╕рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкрд░рд┐рдЪрдп Qt рдХреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмреНрд▓реИрдХрдмреЗрд░реА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рднреЗрдЬрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ BB10 рдФрд░ Cascades рдкрд░ рдЕрдкрдиреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реАрд░реАрдЬрд╝ рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА, рдЬреЛ рдЗрд╕ рд╡рд░реНрд╖ рдХреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ YouTube рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рдерд╛ред рдЕрдм рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдмреНрд▓реИрдХрдмреЗрд░реА 10 рдПрдирдбреАрдХреЗ рдХреЗ рдЕрдкрдиреЗ рдирдП рдЗрдВрдкреНрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд╕рдВрдд рдореЗрдВ BB10 NDK рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦ рджрд┐рдпрд╛ рдерд╛ред

рдЪреЗрддрд╛рд╡рдиреАред рдпрд╣ рдЬреЗрдиреНрд╕ рд╡реЗрд▓рд░ рдХреЗ рдПрдХ рдиреЛрдЯ рдХрд╛ рдореБрдлреНрдд рдЕрдиреБрд╡рд╛рдж рд╣реИред рдЕрдиреБрд╡рд╛рдж рдХреЛ рджреБрдирд┐рдпрд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд╕реНрд╡реАрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ [BB10 + Qt]ред рдЕрдЪреНрдЫрд╛ рдкрдврд╝рд╛ рд╣реИред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ C ++

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ C ++ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд┐рдЪрдпред рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ, рдЬреИрд╕реЗ рдЬрд╛рд╡рд╛ рдпрд╛ .NET рд╕реЗ рд╕рдВрдХреНрд░рдордг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ, рдЕрдХреНрд╕рд░ C ++ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдЬрдмрд░рди рдУрдУрдкреА рдФрд░ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ - рдЙрдирдХреЗ рд▓рд┐рдП рд╕реА ++ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реА ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХреНрдпреВрдЯреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВред рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдПрдХ рдХрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реА ++ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдХрд░реАрдм рд╣реИ, рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреНрдпреВрдирддрдо рдмреИрдЯрд░реА рдЦрд╛рдПрдЧрд╛ред рдЗрд╕ рддрдереНрдп рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрдд рд╣реИ, рд╣рд░реНрдм рд╕рдЯрд░ рдиреЗ рдЕрдкрдиреЗ рд▓реЗрдЦ "рдореБрдлреНрдд рд░рд╛рд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛" рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ ( рд╡реЗрдмрдорд╛рд╕реНрдХ рд╕реЗ рд╣рдм рдкрд░ рдЕрдиреБрд╡рд╛рдж рд╣реИ - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ )ред Qt рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрдм Android рдФрд░ iOS рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП C ++ рдФрд░ Qt / QML рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдВрдпреЛрдЬрди рдмрди рдЧрдП рд╣реИрдВред

NDK рдФрд░ Cascades

рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдмреНрд▓реИрдХрдмреЗрд░реА 10 рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмреНрд▓реИрдХрдмреЗрд░реА рдПрдирдбреАрдХреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рд╣реМрд╕рд▓реЗ рд╕реЗ рдЬрд╛рд░реА 1.2 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЖрдИрдбреАрдИ рдХрд╛рдлрд╝реА рдмреЗрд╣рддрд░ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд╣реЛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди 1.2 рдХреЛ рдЕрднреА рддрдХ "рд╕реБрдирд╣рд░рд╛" рджрд░реНрдЬрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ (рдПрдХ рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рдХреНрд╕ рдХрд░рдирд╛, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рдХреА рдЯрд┐рдкреНрдкрдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рдЪреБрдХрд╛ рд╣реИ ), рдЗрд╕рд▓рд┐рдП рдореИрдВ 1.1 рдХреЗ рддрд╣рдд рд▓рд┐рдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЛ 1.2 рд╕реЗ рдХреБрдЫ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред BlackBerry NDK Cascades рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдПрдкреАрдЖрдИ рдЬреЛ рдЖрдк BB10 рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред Cascades Qt рдХреЗ рдКрдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ QML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ Qt5 рдореЗрдВ QtQuick 2 рд╣реИ рдХреНрдпреЛрдВрдХрд┐ BlackBerry рдХрд╛ рдЕрдкрдирд╛ QML рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ UI рдереНрд░реЗрдб рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рддреЛ QtQuick1 рдпрд╛ 2 рдХреЗ рддрд╣рдд рдмрдирд╛рдпрд╛ рдЧрдпрд╛ QML Cascades рдХреЗ рддрд╣рдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдФрд░ Qt5 рдХреИрд╕реНрдХреЗрдб рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ - рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг Qt 4.8 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

2010 рдХреЗ рдмрд╛рдж рд╕реЗ, рдореБрдЭреЗ рдХреНрдпреВрдЯреА рдФрд░ рдХреНрдпреВрдПрдордПрд▓ рдкрд░ рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИ, рдореИрдВ MeeGo рдХреЗ рд╕рд╛рде рд╡реНрдпрд╕реНрдд рд░рд╣рд╛ рдХрд░рддрд╛ рдерд╛, рдФрд░ рдЕрдм рдореИрдВ рдмреНрд▓реИрдХрдмреЗрд░реА рдХреЗ рд╕рд╛рде рд╣реВрдВред BB10 рдореЗрдВ QML рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдХрдВрдЯреЗрдирд░, рдкреГрд╖реНрда рдФрд░ рдирд┐рдпрдВрддреНрд░рдг, рдЬрдмрдХрд┐ QtQuick1 / 2 рдЖрдЗрдЯрдо рдпрд╛ рдЖрдпрдд рдЬреИрд╕реЗ рдХрд╛рдлреА рдмреБрдирд┐рдпрд╛рджреА рддрддреНрд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рддреЛ рдХреНрдпреВрдПрдордПрд▓ рдФрд░ рдЙрд╕рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП, рдмреНрд▓реИрдХрдмреЗрд░реА рдХреА рдЕрдкрдиреА рдЫреЛрдЯреА рджреБрдирд┐рдпрд╛ рд╣реИред рдЗрд╕ рдмреАрдЪ, Qt5 рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ BB10 рдкрд░ рдмрдирд╛рдпрд╛ рдФрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХреАрдХрд░рдг рдХреА рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ Cascades рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдХреНрдпреВрдПрдордПрд▓ рдФрд░ рд╕реА ++

рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, C ++ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдкреБрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ QML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм C ++ рдореЗрдВ рдореЙрдбрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ QML рддрдХ Q_PROPERTY рд▓рд┐рдП Q_PROPERTY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВред рддрдм рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╛рдо QML рдХреА рддрд░рдл рд╕реЗ рд╣реЛрддрд╛ рд╣реИред QML рдХреЗ рдкрд╛рд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ .assert, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ QML рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдордЬрдмреВрдд рдЯрд╛рдЗрдкрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЯрд╛рдЗрдк рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЪрд░ рдирд╛рдо рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ рдХрд┐ рдХреНрдпреВрдПрдордПрд▓ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЪрд░ рдХреЛ рдирдпрд╛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:

 Container { layout: DockLayout { } Label{ text:ListItemData.titel } } 

ListView рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд░рд▓ рддрддреНрд╡, ListItemData рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЧрд▓рддреА рдХреА, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддрддреНрд╡ рдХреЛ title рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ title рдЬрд░реНрдорди рдореЗрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд░реНрдорди рддреБрд░рдВрдд рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдФрд░ рдХреНрдпреВрдПрдордПрд▓ рдФрд░ рднреА рдЕрдзрд┐рдХ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдк рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рд╢рдмреНрдж рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреВрдПрдордПрд▓ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рди рддреЛ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░, рди рд╣реА рд░рдирдЯрд╛рдЗрдо рдкрд░ред рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╢рд╛рдпрдж рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВред рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рдЖрдИрдбреАрдИ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рднреА рд╕рдВрджреЗрд╢ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ? Cascades рдХреЗ рдкреАрдЫреЗ Qt рдкрд░ рдирд┐рд░реНрдорд┐рдд C ++ рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд╣рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо C ++ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдореМрдХрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рддреЛ Q_ASSERT рдПрдХ рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд▓ рд░рд╣рд╛ рд╣реИред QML рдореЗрдВ рд╢рд╛рдорд┐рд▓ Cascades рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП, C ++ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рддреНрд╡рд░рд┐рдд рд╣реИред рдХреИрд╕реНрдХреЗрдбреНрд╕ рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред ListView рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рднреА рд╣реИ рдЬреЛ C ++: ListItemProvider рд╕реЗ рдПрдХ ListView рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЕрдкрдирд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ:

 virtual bb::cascades::VisualNode* createItem(bb::cascades::ListView* listview,const QString& type); virtual void updateItem(bb::cascades::ListView* listview,bb::cascades::VisualNode* node,const QString& type,const QVariantList& indexPath, const QVariant& data); 

рдЗрди рдЖрднрд╛рд╕реА рддрд░реАрдХреЛрдВ рдХреЗ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЖрдк рд╕реВрдЪреА рджреГрд╢реНрдп рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрдЗрдЯрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рднреА рднрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреНрд▓реИрдХрдмреЗрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпреЗ рдЙрджрд╛рд╣рд░рдг QML рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ C ++ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ UI рдХреЗ рд▓рд┐рдП QML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ OOP рд╢реИрд▓реА, рдЬреИрд╕реЗ рдХрд┐ рдмреНрд▓реИрдХрдмреЗрд░реА рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ ListView рд▓рд┐рдП ListItemProvider рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдЕрд░реНрде рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд ListItemProvider ред рдЪреВрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЪреЗрдХ рд╣реЛрддреЗ рд╣реИрдВ, C ++ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдЖрдЗрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ crateItem рдкрд░ рдЬрд╛рдКрдВ, AddType рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реНрдирд┐рдкреЗрдЯ, рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐:

 void ListViewItemProvider::addType(const QString& type, const QString& qmlasset, const listitem_callback& callback) { bb::cascades::QmlDocument* doc = bb::cascades::QmlDocument::create(qmlasset); if(!doc->hasErrors()) { doc->setParent(this); type_map.insert(type,doc); callback_map.insert(type,callback); }//TODO add additional error checking & handling } 

рдпрд╣ рд╡рд┐рдзрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреА рд╣реИред QML рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП QMap<QString, QmlDocument*> рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ qml рд╕рдВрд╕рд╛рдзрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, file:///partial.qml - рдЕрдиреБрд╡рд╛рджрдХ рдЯрд┐рдкреНрдкрдгреА ) рдХреЛ QmlDocument QmlDocument::create рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ QmlDocument::create ред рд╡реИрд╕реЗ, QmlDocument::create рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ QmlDocument* рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ QmlDocument рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Builder рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИ, рдлрд┐рд░ рдпрд╣ QmlDocument* рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рдЖрдЧреЗ рдмрдврд╝реЗрдВ, createItem рд╡рд┐рдзрд┐:

 bb::cascades::VisualNode* ListViewItemProvider::createItem(bb::cascades::ListView* listview,const QString& type) { if(type_map.find(type)!=type_map.end()) { bb::cascades::Container* node = type_map[type]->createRootObject<bb::cascades::Container>(); return node; } Q_ASSERT_X(false,__FUNCTION__,type +" TYPE not handled"); bb::cascades::Container* con = new bb::cascades::Container(0); bb::cascades::Label* label = new bb::cascades::Label(con); label->setText("ERROR"); return con; } 

рдпрд╣ рдХреЛрдб рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ QmlDocument::createRootObject рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдмрдирд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╣реИред рдЕрдм рддрдХ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рддрдп рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдпреВрдЖрдИ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ Container рдХреЛ рд░реВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╢рд╛рдпрдж VisualNode* рдкреНрд░рдХрд╛рд░, рдЬреЛ createItem рд╡рд┐рдзрд┐ рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рд╣реИ, рдпрд╣рд╛рдВ рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╣реИ, рд╣рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣рд╛рдБ Q_ASSERT_X рдЖрддрд╛ рд╣реИ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреБрдЫ рднреА рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рднреА, рд╡рд┐рдзрд┐ рдХреЛ рдХреБрдЫ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ 0 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реЛрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдз рд░рд┐рдЯрд░реНрди рдореВрд▓реНрдп рд╣реИред рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдУрд░, рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд▓реМрдЯрд╛ рд╣реБрдЖ рд╕реВрдЪрдХ ListView рднрд▓реЗ рд╣реА рд╣рдо 0 рд▓реМрдЯреЗ (рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, BB10 рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ), рдпрд╣ рдкрд░реАрдХреНрд╖рдХ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдЫрд┐рдкрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдХреЗ рд╕рд╛рде Label рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ Container рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдВрджреЗрд╢ рдХреЛ рдмреЗрд╣рддрд░ рд░реВрдк рджреЗ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдХ рдХреЛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рдирд┐рдпрдВрддреНрд░рдг рдХреЛ Cascades API рдФрд░ Qt рдкрд░ рд╡рд╛рдкрд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Qt рдФрд░ Cascades рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ BB10 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЦрд┐рд░реА рдЪреАрдЬ updateItem рд╡рд┐рдзрд┐ рд╣реИред рдФрд░ рдлрд┐рд░, рдпрд╣ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд▓реЛрдб рдХреА рдЧрдИ QML рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реА рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рднреА рдПрдХ рдХрд╛рд░рдг рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдХ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд╡рд░реНрдЧ рд╕реЗ рд╕реАрдзреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЙрдзрд╛рд░ рд▓реЗрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рд╣рдордиреЗ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛, рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ updateItem рдХреЙрд▓ рдореЗрдВ рдЗрд╕реА рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:

 if(callback_map.find(type)!=callback_map.end()) { #ifndef USE_BOOST (*callback_map[type])(node,indexPath,data); #else callback_map[type](node,indexPath,data); #endif } 

рдЗрд╕ рдХреНрд╖рдг рддрдХ, рдореИрдВ USE_BOOST USE_BOOST рдЙрдкрдпреЛрдЧ / рдЫреБрдкрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП, C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкрд╣рд▓реЗ boost::function рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЬрдм рд╕реЗ рдмреНрд▓реИрдХрдмреЗрд░реА рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдмрдврд╝рд╛рд╡рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдореЗрд░рд╛ boost/type_traits/detail/cv_trait_impl.hpp рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдмреВрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдЯреВрд▓рдХрд┐рди рдпрд╛ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐ рд╣реИред рддреНрд░реБрдЯрд┐ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдЖрддреА рд╣реИ, рдЬреАрд╕реАрд╕реА рд╕рдВрд╕реНрдХрд░рдг 4.6.3 рдкрд░, рддреНрд░реБрдЯрд┐ рдкрд╛рда рдХреЛрд╖реНрдардХ рдмреЗрдореЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдЕрдкрдиреЗ рд╡рд░реНрдЬрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рдореБрджрд╛рдп рдФрд░ рдмреНрд▓реИрдХрдмреЗрд░реА рдХреЛ рд╕реВрдЪрдирд╛ рджреАред рдпрджрд┐ рдЖрдк BB10 рдХреЗ рддрд╣рдд рдмреВрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ GitHub рдмреНрд▓реИрдХрдмреЗрд░реА рд╕реЗ рдмреВрд╕реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ред рдЪреВрдВрдХрд┐ рд╕рднреА рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рднреА рдмрдирд╛рдпрд╛, рдЕрдЧрд░ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдлрд┐рд░ рд╕реЗ рдЯреВрдЯ рдЬрд╛рддреА рд╣реИред

рдФрд░ рдЕрдВрддрд┐рдо, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, рдХреЙрд▓рдмреИрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:

 void ApplicationUI::callbackMyListItem(bb::cascades::VisualNode* node,const QVariantList& indexPath, const QVariant& data) { bb::cascades::ImageView* image = node->findChild<bb::cascades::ImageView*>("imageview"); Q_ASSERT(image); if(image) { QString name_image = "image"; //this must be correct! QVariantMap map = data.toMap(); bool hasdata = map.contains(name_image); Q_ASSERT(hasdata); if(hasdata) image->setImageSource(map[name_image].toUrl()); } } 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдкрде рд╕реЗрдЯ рд╣реИред VisualNode рд╕реВрдЪрдХ рдХреЛ VisualNode рд╡рд┐рд░рд╛рд╕рдд VisualNode рдорд┐рд▓рд╛ рд╣реИ, рддрд╛рдХрд┐ рдЪрд╛рдЗрд▓реНрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ findChild рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬреЛ 0 рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ Q_ASSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдлрд┐рд░ QVariantMap рдореЗрдВ рдбреЗрдЯрд╛ QVariantMap рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЫрд╡рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо QVariantMap рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ Q_ASSERT рдлрд┐рд░ рд╕реЗ рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдХреЙрд▓рдмреИрдХ рдХреЗрд╡рд▓ boost::bind рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рд╣реИред

рдореВрд▓реНрдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЛ рдореЙрдбрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди BB10 Qt рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдмреНрд▓реИрдХрдмреЗрд░реА рдиреЗ рдЕрдкрдиреЗ рдореЙрдбрд▓ рд╡рд░реНрдЧреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреНрдпреВрдЯреА рд╕реЗ рдореЙрдбрд▓ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб, рдЖрдИрдУрдПрд╕, рдкреАрд╕реА / рдореИрдХ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЛрд▓рд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдЯреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдХреЗрдбреАрдПрдмреА - рд╣рдорд╛рд░реЗ "рдЧреЛрд▓реНрдб" рдкреНрд░рд╛рдпреЛрдЬрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ - рдиреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдЧрд▓рддрдлрд╣рдореА рдХреЛ рдЦрддреНрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрдпреВрдЯреА рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реНрдХреЗрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рддрд╛ рд╣реИред

рдЖрдИрдбреАрдИ

рдЕрдм, IDE рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рд╕рдВрд╕реНрдХрд░рдг 1.2 рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд╕рд╛рде рдЖрдИрдбреАрдИ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрднреА рднреА рдкрд░рд┐рдкреВрд░реНрдг рд╕реЗ рджреВрд░ рд╣реИред рдХреНрдпреВрдПрдордПрд▓ рд╕рдВрдкрд╛рджрдХ рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рдХреНрд░реИрд╢ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдкреВрд░реЗ рдЖрдИрдбреАрдИ рдХреЛ рдирд╣реАрдВ рдЧрд┐рд░рд╛рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреВрдЯреА рдХреНрд░рд┐рдПрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреНрдпреВрдПрдордПрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдореЗрдВ рднреА рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реИрдХрдмреЗрд░реА рд╕реЗ рдореЛрдореЗрдВрдЯрд┐рдХреНрд╕ рдЖрдИрдбреАрдИ (рдПрд╕реНрд▓рд┐рдкреНрд╕ - рд▓рдЧрднрдЧ рдЕрдиреБрд╡рд╛рджрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХреИрд╕реНрдХреЗрдб рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ QtCreator рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, QtCreator рдореЗрдВ Cascades рдХреЗ рд╕рд╛рде рдХреЛрдИ рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП QML рдСрдЯреЛ-рдкреВрд░реНрдг рд╣реЛрдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ NDK рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИред рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ, рджреГрд╢реНрдп QML рд╕рдВрдкрд╛рджрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред Qt, рдмреЗрд╢рдХ, QtCreator рдореЗрдВ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди NDK рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1.2 рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдХрдИ рд╕реБрдзрд╛рд░ рд╣реИрдВред QtCreator рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЛрдореЗрдВрдЯрд┐рдХреНрд╕ рдореЗрдВ рдЙрддрдиреЗ рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЛрдб рдХрд╛ рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореЛрдореЗрдВрдЯрд┐рдХреНрд╕ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдореБрдЦреНрдп рдХреНрд░реЙрдк рдореЗрдВ рдХреНрдпреВрдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореЛрдореЗрдВрдЯрд┐рдХреНрд╕ рдФрд░ QtCreator рдУрдмрд╛рдорд╛ рдореЗрд░реА DevAlpha рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП QtCreator рдореЗрдВ BB10 рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реИред

рдЕрдЧрд░ рдЖрдкрдХреЛ рдЬрд░реВрд░рдд рд╣реИ рддреЛ рдореИрдВрдиреЗ ListViewItemProvider рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП ...

рд▓реЛрдХрдкреНрд░рд┐рдп рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ (1 рдкреАрд╕реА)

"рдореБрд░реНрджрд╛рдШрд░ рдХреА рдпрд╛рддреНрд░рд╛ рдХреМрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?"

Source: https://habr.com/ru/post/In192064/


All Articles